Используется для того, чтобы определить, принимает ли окно структуры 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 | Нет | |
| Замечания по платформе | Не имеется | |