if WM_CREATE then return(0); // ?



  • Hallo Zusammen.

    Ich habe heute Angefangen, dass Buch 3D Spiele mit C++ und DirectX in 21 Tagen zu lesen.
    Nun steht darin folgender Quellcode, der mir persönlich leider etwas schlecht erklärt wird:

    LRESULT CALLBACK WindowProc(HWND hwnd, 
    			UINT msg, 
    			WPARAM wParam, 
    			LPARAM lParam)
    {
    
    	PAINTSTRUCT ps;
    	HDC hdc;
    
    	switch(msg)
    	{
    		case WM_CREATE:
    		{
    			return(0);
    		}
    		break;
    
    		case WM_PAINT:
    		{
    			hdc = BeginPaint(hwnd, &ps);
    			EndPaint(hwnd, &ps);
    			return(0);
    		}
    		break;
    
    		case WM_DESTROY:
    
    {
    			PostQuitMessage(0);
    			return(0);
    		}
    		break;
    
    		default:
    		break;
    	}
    	return (DefWindowProc(hwnd, msg, wparam, laparm));
    }
    

    Wenn ich das nun richtig verstanden habe, endet das Programm wen der Rückgabewert 0 ist. Und daraus entsteht nun für mich eine gewisse Unlogik.
    Denn das würde ja in diesem Falle heissen, dass sobald das Fenster erstellt wurde, die Anwendung gleich wieder abgeschossen wird 🙄.
    Hoffe ihr könnt mich da aufklären und vielen Dank bereits im Voraus für eine Antwort.

    MfG Samuel


  • Mod

    Wieso dekst Du das. Die Meldung vom System (WM_CREATE) beantwortet Deine Fenster Routine mit return 0. Was bedeutet alles klar.

    Wie wäre es mit etwas lesen der MSDN?
    http://msdn.microsoft.com/en-us/library/ms632619(VS.85).aspx



  • Danke für den Hinweis.
    War bisher nicht so vertraut mit MSDN, werde aber versuchen, die nun öfters zu brauchen ;).

    MfG Samuel.


Anmelden zum Antworten