ビットマップをロードするための次のコードがあります。
HBITMAP reg_hbmCS = NULL;
LRESULT CALLBACK WndProc(HWND hRegWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
reg_hbmCS = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_CSBITMAP));
if(!reg_hbmCS)
MessageBox(hRegWnd,
"No se ha podido cargar el icono del programa.\r\n"
"Pruebe a reinstalar el programa para solucionar este problema.",
"Atención", MB_ICONEXCLAMATION | MB_OK);
break;
case WM_CLOSE:
DeleteObject(reg_hbmCS);
DestroyWindow(hRegWnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hRegWnd, message, wParam, lParam);
}
return 0;
}
問題は、reg_hbmCS がロードされないことです。そのため、使用可能なビットマップがありません ( (if !reg_hbmCS)
.
ここに私の resources.h:
#ifndef RESOURCES_H
#define RESOURCES_H
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
#define IDI_CSICO 101
#define IDB_CSBITMAP 201
#endif // RESOURCES_H
そして私のresources.rc:
#include <windows.h>
#include "resources.h"
IDI_CSICO ICON "CS-Nursing.ico"
IDB_CSBITMAP BITMAP DISCARDABLE "CS-Nursing.bmp"
必要に応じて、WindowsXP SP3 で Code::Blocks 12.11 を使用します。どんな助けでも大歓迎です。