Funktion mit Windowsvariabeln



  • Hi, bin gerade neu bei C++ Programmierung und bekomme eigentlich etwas absolut simples nicht hin 😞

    Ich schaffe es nicht einen Teil der LRESULT CALLBACL WindowsFunc auszulagern, so das ich die Funktion z.B. durch case WM_LBUTTONDOWN und case WM_RBUTTONDOWN aufrufen kann!

    Zurzeit habe ich da eine etwas seltsame Lösung, die kurz vor ende des switch durch testen einer bool-variable erkennt ob das viereck gezeichnet werden soll!

    Ich möchte folgenden Teil:

    hDC = GetDC(hWnd);
    				MoveToEx(hDC,1,1,NULL);
    				LineTo(hDC,1,100;
    				LineTo(hDC,100,100);
    				LineTo(hDC,1,100);
    				LineTo(hDC,1,1);
    			ReleaseDC(hWnd,hDC);
    

    Aus der LRESULT CALLBACK WindowFunc auslagern:

    LRESULT CALLBACK WindowFunc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    {
        HDC hDC; 
        switch(msg)
        {
            case WM_DESTROY:
                        PostQuitMessage(0);
                        return 0;
                    break;
            case WM_LBUTTONDOWN:
    			hDC = GetDC(hWnd);
    				MoveToEx(hDC,1,1,NULL);
    				LineTo(hDC,1,100;
    				LineTo(hDC,100,100);
    				LineTo(hDC,1,100);
    				LineTo(hDC,1,1);
    			ReleaseDC(hWnd,hDC);
    		return 0;                                             
    		break;          
       return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    

    Ich kann in der LRESULT CALLBACK WindowFunc keine Funktionen deklarieren und außerhalb der Funktion wird mir geasagt, das LineTo nicht bekannt ist!

    Ich hoffe ihr könnt mir helfen!



  • Wenn du den Ablauf so gestaltet hast du kein Problem:

    1. Deklaration der Funktionen (LineTo, WndProc)
    2. Main
    3. Implementierung der Funktionen

    Verschoben nach C++, scheint mir ein C++-Problem zu sein.

    MfG SideWinder



  • Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten