Auf Modale zeichnen
-
Hallo,
ich habe einen Modalen Dialog erstellt und möchte darauf zeichen. Nur leider funktioniert dies nicht. Ich habe die Nachricht WM_PAINT abgefangen, dor den HDC mit BeginPaint(...,...); geholt und mit TextOut(....) bzw Rectangle(.......) wollte ich etwas drauf zeichnen. Nur leider ging dies nicht. Wie kann man auf einem Modalen Dialog zeichnen?
Danke schon im voraus für eure Hilfe.
-
hast du auch EndPaint aufgerufen?
-
Ja hab ich
-
So sieht meine Proc aus:
LRESULT CALLBACK DlgProc(HWND hWndDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch(Msg) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: { switch(wParam) { case IDOK: EndDialog(hWndDlg, 0); return TRUE; } break; } case WM_PAINT: { HDC hDC; PAINTSTRUCT ps; hDC = BeginPaint(hWnd, &ps); { SetTextColor(hDC, RGB(255, 255, 255)); Rectangle(hDC, 0, 0, 100, 100); } EndPaint(hWnd, &ps); break; } } return FALSE; }
-
Also wenn dann müsstest du bei Begin- und EndPaint schon hWndDlg angeben! Kommt er denn in den WM_PAINT Zweig?
-
Ohje bin ich doof,
du hast recht, ich habe den falschen Handle angegeben...
ich glaub ich werd alt.
Danke für deine Hilfe
-
...wenn der Rahmen weiss werden soll, müsstest Du übrigens in den DC nen weissen Stift rein-selektieren und nicht die Textfarbe auf weiss setzen.
-
geeky schrieb:
...wenn der Rahmen weiss werden soll, müsstest Du übrigens in den DC nen weissen Stift rein-selektieren und nicht die Textfarbe auf weiss setzen.
Weiß ich das SetTextColor war noch ein Überbleibsel eines Versuchs mit TextOut