Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | |
Мдаа, хоть бы у одной функции проверялось возвращаемое значение:) 09.05.12 16:08 Число просмотров: 2856
Автор: AlexD <Alexander> Статус: Member
|
|
<programming>
|
[Win32] bitmap на диалоговом окне 18.04.12 06:25
Автор: void <Grebnev Valery> Статус: Elderman
|
Код рисующий 16x16 bitmap в нижнет правом углу окна работает нормально.
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc;
hdc = ::BeginPaint(hDlg, &ps);
HBITMAP bmp = ::LoadBitmap(::GetModuleHandle(NULL),
MAKEINTRESOURCE(IDB_BITMAP1));
HDC memDc = ::CreateCompatibleDC( hdc );
HBITMAP oldBitmap = (HBITMAP) ::SelectObject( memDc, bmp );
RECT rct = {0};
::GetClientRect(hDlg, &rct);
::BitBlt( hdc, rct.right - 16, rct.bottom - 16, 16, 16,
memDc, 0, 0, SRCCOPY);
::SelectObject( memDc, oldBitmap );
::DeleteDC(memDc);
::EndPaint(hDlg, &ps);
}
break;
---
Тот же код не работает для диалогового окна. При увеличении размера диалога, появляется "шлейф" из bitmap-ок. При уменьшении размера - bitmap не отрисовывается. Как это исправить?
Спасибо.
|
|
в диалоге это нужно делать в wm_erasebknd 18.04.12 08:33
Автор: dl <Dmitry Leonov>
|
|
| |
Спасибо. Рисует. Код такой: 19.04.12 03:37
Автор: void <Grebnev Valery> Статус: Elderman
|
Спасибо. Рисует. Код такой:
case WM_ERASEBKGND:
{
HWND hControl = ::GetDlgItem( hDlg, IDC_STATIC1);
HDC hdc = ::GetDC(hControl);
HBITMAP bmp = ::LoadBitmap(::GetModuleHandle(NULL),
MAKEINTRESOURCE(IDB_BITMAP1));
HDC memDc = ::CreateCompatibleDC( hdc );
HBITMAP oldBitmap = (HBITMAP) ::SelectObject( memDc, bmp );
::BitBlt( hdc, 0, 0, 16, 16, memDc, 0, 0, SRCCOPY);
::SelectObject( memDc, oldBitmap );
::DeleteDC(memDc);
::ReleaseDC( hControl, hdc);
}
break;
---
Другой эффект - bitmap не отрисовывается, пока я не изменю размеры диалога.
|
| | |
возможно, контрол при первом вызове еще недоступен 19.04.12 05:09
Автор: dl <Dmitry Leonov>
|
|
| | | |
Мдаа, хоть бы у одной функции проверялось возвращаемое значение:) 09.05.12 16:08
Автор: AlexD <Alexander> Статус: Member
|
|
| | | | |
That code is just for discussion. The real one has all the... 09.05.12 18:56
Автор: void <Grebnev Valery> Статус: Elderman
|
That code is just for discussion. The real one has all the checks.
|
|
|