Тест-тест очень прост. Я хочу установить содержимое Picture Control (IDC_STATIC1) при нажатии кнопки (IDC_BUTTON2) на растровый ресурс (IDB_BITMAP1). Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю кнопку, функция управления снимками не загружает изображение. Я подтвердил, что кнопка нажата IS, которая правильно зарегистрирована, а возвращаемое значение из LoadImage НЕ равно нулю.Как установить образ управления изображениями (Win32 API) во время выполнения?
Следующий код является обработчик сообщений для диалога:
BOOL WINAPI DialogProc2(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CLOSE:
EndDialog(hWindow, 0);
DestroyWindow(hWindow);
return TRUE;
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDC_BUTTON2)
{
HBITMAP bmp;
bmp = (HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
if (bmp == NULL)
{
MessageBox(NULL, "Error", "ERROR", MB_OK);
return TRUE;
}
SendDlgItemMessage(hWindow, IDC_STATIC1, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)bmp);
//placing a MessageBox here proves that the button press is being registered properly and that the message is being sent, but nothing is happening...
}
return TRUE;
}
return FALSE;
}
Вы установили стиль для IDC_STATIC1 для включения «SS_BITMAP»? – Amit
Я установил Type в Bitmap в окне свойств. http://prntscr.com/82j1vn Я не уверен, что это то же самое. Если нет, как бы установить стиль? Кажется, что для стиля нет свойства ... –