windows_programming_notes.nbk: Home | Index | Next Page: DeferWindowPos | Previous Page: custom windows


 DefDlgProc

The DefDlgProc function calls the default dialog box window procedure to provide default processing for any window messages that a dialog box with a private window class does not process.

Syntax

    LRESULT DefDlgProc(  
        HWND    hDlg,
        UINT    Msg,
        WPARAM  wParam,
        LPARAM  lParam
    );

Parameters

Return Value

The return value specifies the result of the message processing and depends on the message sent.

Remarks

The DefDlgProc function is the window procedure for the predefined class of dialog box. This procedure provides internal processing for the dialog box by forwarding messages to the dialog box procedure and carrying out default processing for any messages that the dialog box procedure returns as FALSE. Applications that create custom window procedures for their custom dialog boxes often use DefDlgProc instead of the DefWindowProc function to carry out default message processing.

Applications create custom dialog box classes by filling a WNDCLASS structure with appropriate information and registering the class with the RegisterClass function. Some applications fill the structure by using the [GetClassInfo] function, specifying the name of the predefined dialog box. In such cases, the applications modify at least the lpszClassName member before registering. In all cases, the cbWndExtra member of WNDCLASS for a custom dialog box class must be set to at least DLGWINDOWEXTRA.

The DefDlgProc function must not be called by a dialog box procedure; doing so results in recursive execution.

Windows 95/98/Me: DefDlgProcW is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems .

Function Information


windows_programming_notes.nbk: Home | Index | Next Page: DeferWindowPos | Previous Page: custom windows


Notebook exported on Monday, 7 July 2008, 18:56:50 PM Eastern Daylight Time