Thritt

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору У меня вопрос: создаю кнопку стиля BS_OWNERDRAW case WM_CREATE: Btn1 = CreateWindowW(TEXT("BUTTON"), NULL, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, 100, 130, 130, 35,hWnd, (HMENU)ID_BTN1, hInst, NULL); break; затем рисую на кнопке битмап и хочу сделать так, что если щелкнуть по кнопке то во время щелчка на кнопке должна отображаться другая картинка: case WM_DRAWITEM: pdis = LPDRAWITEMSTRUCT(lParam); cbtndc = CreateCompatibleDC(pdis->hDC); SelectObject(cbtndc, bm1); BitBlt(pdis->hDC, 0, 0, 130, 35, cbtndc, 0, 0, SRCCOPY); if (pdis->itemState & ODS_SELECTED) { SelectObject(cbtndc, bm2); BitBlt(pdis->hDC, 0, 0, 130, 35, cbtndc, 0, 0, SRCCOPY); } ReleaseDC(Btn1, cbtndc); break; И вот вопрос: почему когда я щелкаю по кнопке то вторая картинка остается, хотя она должна отображаться только во время нажатия на кнопку? кнопка остается как бы нажатой и "отжать" обратно ее нельзя. HWND Btn1; HBITMAP bm1 = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1)); HBITMAP bm2 = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP2)); HDC cbtndc; LPDRAWITEMSTRUCT pdis; |