Hi,
leider noch ein Problem.
Ich habe folgende Ressource im Dialog:
[cpp]
LANGUAGE 0, SUBLANG_NEUTRAL
IDD_DIALOG30 DIALOG 0, 0, 1000, 600
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
CAPTION "Raumkarte"
FONT 8, "Ms Shell Dlg"
{
CONTROL "", ID_RAUMKARTE31, WC_STATIC, SS_BLACKFRAME, 201, 0, 800, 600, WS_EX_ACCEPTFILES
SCROLLBAR ID_SCROLLBARVER32, 202, 2, 19, 186, SBS_VERT, WS_EX_LEFT
SCROLLBAR ID_SCROLLBARHOR33, 222, 2, 214, 15, 0, WS_EX_LEFT
LISTBOX ID_RAUMKARTEAKTIONSLISTE34, 1, 0, 198, 183, WS_TABSTOP | WS_VSCROLL | LBS_NOINTEGRALHEIGHT | LBS_SORT | LBS_NOTIFY, WS_EX_LEFT
LISTBOX ID_RAUMKARTEWAHLAKTIONSLISTE35, 1, 187, 198, 188, WS_TABSTOP | WS_VSCROLL | LBS_NOINTEGRALHEIGHT | LBS_SORT | LBS_NOTIFY, WS_EX_LEFT
}
[/cpp]
Der Control "ID_RAUMKARTE31" hat den Identifier 3001.
An den möchte ich das bmp zur Darstellung senden. Das mit folgendem Befehl:
SendMessage(GetDlgItem(hDlg30,3001),BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hRaumkarte);
Das sieht so aus:
[code]
BOOL CALLBACK RaumkarteProc(HWND hDlg30, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
HDC hdcRaumkarteMem;
RECT rect;
static HBITMAP hRaumkarte;
static BITMAP Raumkarte;
static HWND hwndRaumkartebmp, hwndRaumkarteAktion1, hwndRaumkarteaktion2,
hwndRaumkarteHScroll, hwndRaumkarteVScroll;
switch (message)
{
case WM_INITDIALOG:
{
hRaumkarte= (HBITMAP)LoadImage(NULL,TEXT("C:\\Daten\\chris\\Code\\Sucher1_2\\Raumkarte.bmp"),IMAGE_BITMAP,0,0,
LR_DEFAULTSIZE|LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if (hRaumkarte==NULL)
{
MessageBox(hDlg30,"Raumkarte konnte nicht geladen werden","Error",0);
return TRUE;
}
GetObject(hRaumkarte, sizeof (BITMAP), &Raumkarte);
SendMessage(GetDlgItem(hDlg30,3001),BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hRaumkarte);
return FALSE;
};
[/code]
Aber es kommt nix an. Da hRaumkarte != NULL sollte auch was ankommen, ansonsten würde ja die MessageBox aktiviert.
Also sollte der Fehler woanders liegen. Hat jemand einen Tipp?
Danke,
Chris