Was in der Window Procedure zurückgeben?



  • Hi,

    die Window Procedure gibt ja ein LRESULT zurück. Was genau muss ich aber in der Funktion zurückgeben?

    Im Moment hab ich folgendes:

    else if(message == WM_ENTERSIZEMOVE) {
       paused = true;	
       return DefWindowProc(windowHandle, message, wParam, lParam);
       // return TRUE;
    }
    

    Ich rufe also einfach DefWindowProc auf und geben deren Rückgabewert zurück. Ist der Aufruf von DefWindowProc überhaupt richtig? Wann genau muss ich diese Funktion aufrufen? Oder sollte ich statt dessen einfach TRUE zurückgeben?



  • Bei der Fensterprozedur:
    1. Fall: Falls Du die Nachricht bearbeitet hast, gibst Du einfach 0 zurück.
    2. Fall: Falls nicht, gibst Du folgendes zurück:

    return (DefWindowProc(hWnd, uiMessage, wParam, lParam));
    

    Damit sagst wird die Nachricht von einer Standard-Fenster-Prozedur behandelt, die von Windows bereitgestellt wird. Diese implementiert für jede Nachricht ein Standardverhalten (Was meistens soviel bedeutet wie return (0); 😉 .

    Bei Dialog-Prozeduren:
    1. Fall: Falls Du die Nachricht bearbeitet hast: return (TRUE);
    2. Fall: Falls keine Bearbeitung statt fand: return (FALSE);


Anmelden zum Antworten