Сообщение WM_NOTIFYFORMAT

Используется для того, чтобы определить, принимает ли окно структуры ANSI или Unicode в уведомляющем сообщении WM_NOTIFY. Сообщения WM_NOTIFYFORMAT отправляются из стандартного органа управления в его родительское окно и из родительского окна в стандартный орган управления.

Чтобы отправить это сообщение, вызовите функцию SendMessage следующим образом.

Синтаксис

  lResult = SendMessage(             // возвращает LRESULT в lResult
  (HWND) hWndControl,                // дескриптор целевого органа управления
  (UINT) WM_NOTIFYFORMAT,            // ID сообщения
  (WPARAM) wParam,                   // = (WPARAM) (HWND) hwndFrom
  (LPARAM) lParam                    // = Command
);

Параметры

hwndFrom

Дескриптор окна, которое отправляет сообщение WM_NOTIFYFORMAT. Если параметр Command - NF_QUERY, то этот параметр - дескриптор органа управления. Если параметр Command - NF_REQUERY, то этот параметр - дескриптор родительского окна органа управления.

Command

Значение команды, которое определяет природу сообщения WM_NOTIFYFORMAT. Оно будет одним из нижеследующих значений:

Значение Предназначение
NF_QUERY Сообщение является запросом, чтобы определить, должны ли структуры ANSI или Unicode использоваться в сообщениях WM_NOTIFY. Эта команда отправляется из органа управления в его родительское окно в ходе создание органа управления и в ответ на команду NF_REQUERY.
NF_REQUERY Сообщение -это запрос органа управления, чтобы отправить форму NF_QUERY этого сообщения своему родительскому окну. Эта команда отправляется из родительского окна. Родительское окно просит, чтобы орган управления повторно сделал запрос об этом типе структур, чтобы использовать в сообщениях WM_NOTIFY. Если параметр Command - NF_REQUERY, возвращаемое значение равно результату операции повторного запроса.

Возвращаемое значение

Возвращается одно из нижеследующих значений:

Значение Предназначение
NFR_ANSI Структуры ANSI должны использоваться в сообщениях WM_NOTIFY, отправленных органом управления.
NFR_UNICODE Структуры Unicode должны использоваться в сообщениях WM_NOTIFY, отправленных органом управления.

0

Произошла ошибка.

Замечания

Когда создается стандартный орган управления, он отправляет сообщение WM_NOTIFYFORMAT своему родительскому окну, чтобы определить тип структур, которые используются в сообщениях WM_NOTIFY. Если родительское окно не обрабатывает это сообщение, функция DefWindowProc отвечает согласно типу родительского окна. Таким образом, если родительское окно - окно Unicode, DefWindowProc возвращает значение NFR_UNICODE, а если родительское окно - окно ANSI, DefWindowProc возвращает значение NFR_ANSI. Если родительское окно - диалоговое окно и не обрабатывает это сообщение, функция DefDlgProc просто отвечает согласно типу диалогового окна (Unicode или ANSI).

Родительское окно может изменить тип структур, которые стандартный орган управления использует в сообщениях WM_NOTIFY, устанавливая параметр lParam в значение NF_REQUERY и отправляя сообщение WM_NOTIFYFORMAT органу управления. Это заставляет орган управления отправлять форму NF_QUERY сообщения WM_NOTIFYFORMAT родительскому окну.

Все стандартные органы управления отправляют сообщения WM_NOTIFYFORMAT. Однако, стандартные органы управления Windows (поля редактирования, комбинированные окна, поля списка, кнопки, полосы прокрутки и статические органы управления) этого не делают.

Смотри также

Обзор Органы управления Windows, Сообщения, используемые органами управления

Размещение и совместимость WM_NOTIFYFORMAT

К Windows XP Да
л Windows 2000 Professional Да
и Windows NT Workstation Да версии 3.51
е Windows Me Да
н Windows 98 Да
т Windows 95 Да
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Да  версии 3.51
в
е
р
Используемая библиотека -
Используемая DLL -
 Заголовочный файл  
- объявлено в winuser.h
- включено в -
Unicode Нет
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz