CDialog::IsDialogMessage

Syntax

BOOL IsDialogMessage( LPMSG lpMsg );

Parameters

lpMsg

Points to an MSG structure that contains the message to be checked.

The MSG structure looks like this:

typedef struct tagMSG {

HWND hwnd;

WORD message;

WORD wParam;

LONG lParam;

DWORD time;

POINT pt;

} MSG;

Remarks

Determines whether the given message is intended for the modeless dialog box and automatically processes the message if it is. When the IsDialogMessage function processes a message, it checks for keyboard messages and converts them to selection commands for the corresponding dialog box. For example, the TAB key selects the next control or group of controls, and the DOWN ARROW key selects the next control in a group.

A message processed by IsDialogMessage must not be passed to the TranslateMessage or DispatchMessage Windows functions. The message has already been processed.

IsDialogMessage sends the WM_GETDLGCODE message to determine which keys to process.

Return Value

Specifies whether the given message has been processed. It is TRUE if the message has been processed; otherwise FALSE. If the return is FALSE, call the PreTranslateMessage member function of the base class to process the message. The code looks like this in an override of the CDialog PreTranslateMessage member function:

CMyDlg::PreTranslateMessage( msg )

{

if( IsDialogMessage( msg )

return TRUE;

else

return CDialog::PreTranslateMessage( msg );

}

See Also

::DispatchMessage, ::TranslateMessage, ::GetMessage, CWnd::PreTranslateMessage, WM_GETDLGCODE