Шаг 225 - CWnd::IsDialogMessage

BOOL IsDialogMessage( LPMSG lpMsg );

Возвращаемое значение
Определяет обработала ли функция данное сообщение. Отлично от нуля если сообщение было обработано, иначе 0. Если возврат - 0 вызовите CWnd::PreTranslateMessage функцию базового класса чтобы обработать сообщение. В перегруженной CWnd::PreTranslateMessage функции код выглядит следующим образом:

BOOL CMyDlg::PreTranslateMessage( msg )
{
    if( IsDialogMessage( msg ) )
        return TRUE;
    else
        return CWnd::PreTranslateMessage( msg );
}

Параметры
lpMsg
Указатель на структуру MSG которая содержит сообщение которое будет проверено.

Замечания
Вызовите эту функцию чтобы определить предназначено ли данное сообщение для немодального диалогового окна если эта функция обрабатывает сообщение. Когда функция IsDialogMessage обрабатывает сообщение она проверяет сообщения клавиатуры и преобразовывает их в команды выбора для соответствующего диалогового окна. Например, Tab выбирает следующей элемент управление или группу элементов управления, а клавиша стрелки "ВНИЗ" выбирает следующий элемент управления в группе. Вы не должны передать сообщение обработанное IsDialogMessage в ::TranslateMessage или функции DispatchMessage Windows, потому что оно было уже обработано.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 30.12.2001