главное окно:
| Код | case WM_PAINT: { hdc = BeginPaint(hWnd, &ps); paint(hdc); EndPaint(hWnd, &ps); break; }
|
| Код | CSimpleButton sbOptions; ............. sbOptions.SetBMP(hInst,IDB_BOPTIONS_NORMAL,IDB_BOPTIONS_HIGHLIGHT,IDB_BOPTIONS_HIGHLIGHT,IDB_BOPTIONS_DISABLE); sbOptions.SetPosition(30,325); sbOptions.SetSize(225,44); sbOptions.SetState(BT_NORMAL); ............. void paint(HDC hdc) { fon=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_FON)); d=CreateCompatibleDC(hdc); PatBlt(d,0,0,640,480,WHITENESS); SelectObject(d,fon);
sbOptions.Draw(d);
BitBlt(hdc,0,0,640,480,d,0,0,SRCCOPY); DeleteDC(d); }
|
класс кнопки
| Код | //---Установка Изображений(из ресурсов) на кнопке----------------------------// void CSimpleButton::SetBMP(HINSTANCE a_hinstance_app, WORD a_strBMP_Normal, WORD a_strBMP_HighLight, WORD a_strBMP_Push, WORD m_strBMP_Disable) { m_hbBMP_Normal=LoadBitmap(a_hinstance_app,MAKEINTRESOURCE(a_strBMP_Normal)); m_hbBMP_HighLight=LoadBitmap(a_hinstance_app,MAKEINTRESOURCE(a_strBMP_HighLight)); m_hbBMP_Push=LoadBitmap(a_hinstance_app,MAKEINTRESOURCE(a_strBMP_Push)); m_hbBMP_Disable=LoadBitmap(a_hinstance_app,MAKEINTRESOURCE(m_strBMP_Disable)); }
|
| Код | void CSimpleButton::Draw(HDC pDC) { dcMem1 = CreateCompatibleDC(pDC); HBITMAP hOldbm;
//--выбор изображения кнопки switch(m_iState) { case 0: { // Выбираем изображение bitmap в контекст памяти hOldbm = (HBITMAP)SelectObject(dcMem1,m_hbBMP_Disable); break; } case 1: { // Выбираем изображение bitmap в контекст памяти hOldbm = (HBITMAP)SelectObject(dcMem1,m_hbBMP_Normal); break; } case 2: { // Выбираем изображение bitmap в контекст памяти hOldbm = (HBITMAP)SelectObject(dcMem1,m_hbBMP_HighLight); break; } case 3: { // Выбираем изображение bitmap в контекст памяти hOldbm = (HBITMAP)SelectObject(dcMem1,m_hbBMP_Push); break; } default: // если значение состояния вне допустимого - ничего не рисуем {
break; } }
if (hOldbm) { BitBlt(pDC,m_iX,m_iY,m_iCX,m_iCY,dcMem1,0,0,SRCCOPY);
// Восстанавливаем контекст памяти SelectObject(dcMem1, hOldbm); }
::DeleteDC(dcMem1); }
|
|