Angeli Geschrieben 12. Mai 2012 Teilen Geschrieben 12. Mai 2012 Hallo ich hab folgendes Problem: wenn ich einen Button drücke passiert nichts... Ich will dass mein Programm mir beispielsweise eine Ellipse auf mein Hauptfenster zeichnet! aber leider bekomme ich das nicht hin.. Hier mein Unterprogramm: BOOL APIENTRY mein_maskenprogramm (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_INITDIALOG: //Dieser Teil wird durchlaufen, wenn die Maske das 1. Mal geoeffnet wird printf("\nDie Maske wurde aufdemacht"); break; case WM_COMMAND: switch(LOWORD(wParam)) { case KNOPF_BERLIN: printf("\nEs wurde der Knopf_BERLIN gedrückt"); Ellipse_zeichnen (hdc); break; case KNOPF_NY: printf("\nEs wurde der KNOPF_NY gedrückt"); break; } break; } return(HandleDefaultMessages(hwnd, msg, wParam, lParam)); } Die Übergabe an die Konsole funktioniert! Nur die Ellipse zeichnet er nicht.. Wie bekomme ich das hin? Ich hoffe jemand kann mir da helfen:) Ich hoffe jemand kann mir da weiterhelfen. Angeli Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Angeli Geschrieben 12. Mai 2012 Autor Teilen Geschrieben 12. Mai 2012 * Integration Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 13. Mai 2012 Teilen Geschrieben 13. Mai 2012 Was ist denn hdc? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Angeli Geschrieben 13. Mai 2012 Autor Teilen Geschrieben 13. Mai 2012 das unterprogramm, welches auf das Hauptfenster eine Ellipse zeichnen soll heißt: ellipse_zeichenen (HDC hdc) hdc ist ein Handle für ein Gerätekontext Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 13. Mai 2012 Teilen Geschrieben 13. Mai 2012 Das dürfte Klotzkopp klar sein. Die Frage ist was es bei dir ist, was hast du hdc zugewiesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Angeli Geschrieben 13. Mai 2012 Autor Teilen Geschrieben 13. Mai 2012 Ich habe sein Wissen auch nicht angezweifelt;) also ich habs jetzt bisschen umgeändert... #include <windows.h> #include <windowsx.h> #include <commctrl.h> #include <string.h> #include "uhrprogrammres.h" #include "prototypen.h" #include <stdio.h> BOOL APIENTRY mein_maskenprogramm (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_INITDIALOG: //Dieser Teil wird durchlaufen, wenn die Maske das 1. Mal geoeffnet wird printf("\nDie Maske wurde aufdemacht"); break; case WM_COMMAND: //Dieser Teil wird durchlaufen, wenn in der Maske etwas ausgefuehrt werden soll. switch(LOWORD(wParam)) { case KNOPF_BERLIN: printf("\nEs wurde der Knopf_BERLIN gedrückt"); ellipse_zeichnen(hwnd); break; case KNOPF_NY: printf("\nEs wurde der KNOPF_NY gedrückt"); break; } break; } return(HandleDefaultMessages(hwnd, msg, wParam, lParam)); } BOOL ellipse_zeichnen(HWND hwnd) { HDC hdc; PAINTSTRUCT ps; int farbmischung; int r, g, b; HBRUSH pinsel; InvalidateRect (hwnd, NULL, TRUE); hdc = BeginPaint(hwnd, &ps); farbmischung = RGB(0, 100, 100); pinsel = CreateSolidBrush(farbmischung); SelectBrush(hdc, pinsel); Ellipse(hdc, 250, 80, 300, 130); DeleteObject(pinsel); EndPaint(hwnd, &ps); UpdateWindow(hwnd); return 0; } die Ellipse wird jetzt leider auf die Maske gezeichnet.. Wie kann ich sie auch dem Hauptfenster zeichnen lassen?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 13. Mai 2012 Teilen Geschrieben 13. Mai 2012 die Ellipse wird jetzt leider auf die Maske gezeichnet.. Wie kann ich sie auch dem Hauptfenster zeichnen lassen??Die Ellipse wird auf das Fenster gezeichnet, dessen Fenster-Handle du an ellipse_zeichnen übergibst. Im Übrigen scheinst du alles, was ich dir in deinem letzten Thread über BeginPaint, UpdateWindow usw. gesagt habe, wieder vergessen zu haben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Angeli Geschrieben 13. Mai 2012 Autor Teilen Geschrieben 13. Mai 2012 mir ist leider nicht ganz klar wie ich das richtige Fensterhandle übergeben kann.. kannst du mir da keinen Tipp geben? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.