Zeichnen mit GDI in Dialogbox



  • Hallo,

    flenders schrieb:

    Du könntest ein Static-Control mit SS_BITMAP nehmen und dann kannst du mit STM_SETIMAGE dein Bild was du gezeichnet hast setzen 🙂

    Wie male ich denn mit z.B. LineTo() in ein Bild, was ich dann dorthin lege?

    Painter schrieb:

    Oder Du fängst WM_PAINT ab, holst Dir den DC für das Static (oder sogar das DialogFenster selber) und malst dann da direkt drauf rum...

    Sorry, das habe ich nicht verstanden.

    der Guenther



  • Na, füg dochmal folgenden Code in Deine DialogProc ein:

    case WM_PAINT:
    		{
                PAINTSTRUCT ps;
    			HDC hdc = BeginPaint (hDlg, &ps);
    			Rectangle(hdc, 10, 10, 50, 50);
    			EndPaint (hDlg, &ps);		
    		}		
    		return TRUE;
    


  • Nett, das klappt schonmal. Danke.

    Aber ich dachte ich kann das mit nem Knopf ausloesen.

    case IDPAINT:
            PAINTSTRUCT ps;
    	HDC hdc= BeginPaint(GetDlgItem(hWnd,IDC_GRAPH), &ps);
    	MoveToEx(hdc,0,0,NULL);
    	LineTo(hdc,100,100);
    	EndPaint (GetDlgItem(hWnd,IDC_GRAPH), &ps); 
    	return TRUE;
    

    hWnd ist das Handle von meinem Dialog, ICD_GRAPH ist das Static meines Graphen. Warum muss ich das mit WM_PAINT abfangen?

    der Guenther



  • Du könntest per Buttondruck eine static BOOL-Variable bMussGraphZeichnen umkehren (also bMussGraphZeichnen = !bMussGraphZeichnen), das Fenster für ungültig (InvalidateRect) erklären und dann in der WM_PAINT abfragen, ob Du zeichnen mußt oder nicht ( if(bMussGraphZeichnen) )



  • Puh, ich habe sowas befuerchtet. Das ist ja von hinten durch di Brust ins Auge.

    Aber dasn funktioniert. Danke dir.

    Noch ne Frage. Wie kann ich denn geeignet ein Koordinatensystem malen mit Beschriftung?

    Danke

    der Guenther



  • Guenther schrieb:

    Puh, ich habe sowas befuerchtet. Das ist ja von hinten durch di Brust ins Auge.

    Windows ist generell von hinten durch die Brust ins Auge. Du reagierst auf Nachrichten.

    Guenther schrieb:

    Noch ne Frage. Wie kann ich denn geeignet ein Koordinatensystem malen mit Beschriftung?

    Hab ich selber noch nie gemacht. Notfalls von Hand (Autsch!).



  • Painter schrieb:

    (Autsch!).

    Ja, Autsch! 😮

    der Guenther
    *Angst hat*



  • Ansätze dazu findest Du hier:
    http://www.henkessoft.de/C++/WinAPI/WinAPI_GDI/WinAPI_7_GDI.htm

    Allerdings beschriftet er seine Koordinaten-Graphen nicht.



  • Danke, das kenne ich aber schon und habe es auch benutzt fuer meine ersten Versuche.

    Drum frug ich ja wegen dem Koordinatensystem. Ich kann zwar das Koordintansystem zeichnen, allerdings nutzt mir das ohne Beschriftung nichts.

    Danke nochmal.

    der Guenther



  • Zum Beschriften: TextOut()


Anmelden zum Antworten