Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Таблица 5
Аппаратные сообщения
Название сообщения | Описание |
Сообщения от мыши в клиентской области окна | |
WM_LBUTTONDBLCLK | Двойное нажатие левой кнопки |
WM_LBUTTONDOWN | Нажатие левой кнопки |
WM_LBUTTONUP | Отпускание левой кнопки |
WM_MBUTTONDBLCLK | Двойное нажатие средней кнопки |
WM_MBUTTONDOWN | Нажатие средней кнопки |
WM_MBUTTONUP | Отпускание средней кнопки |
WM_MOUSEMOVE | Перемещение мыши |
WM_RBUTTONDBLCLK | Двойное нажатие правой кнопки |
WM_RBUTTONDOWN | Нажатие правой кнопки |
WM_RBUTTONUP | Отпускание правой кнопки |
Сообщения от мыши в неклиентской области окна | |
WM_NCLBUTTONDBLCLK | Двойное нажатие левой кнопки |
WM_NCLBUTTONDOWN | Нажатие левой кнопки |
WM_NCLBUTTONUP | Отпускание левой кнопки |
WM_NCLBUTTONUP | Двойное нажатие средней кнопки |
WM_NCMBUTTONDBLCLK | Нажатие средней кнопки |
WM_NCMBUTTONDOWN | Отпускание средней кнопки |
WM_NCMBUTTONUP | Перемещение мыши |
WM_NCRBUTTONDBLCLK | Двойное нажатие правой кнопки |
WM_NCRBUTTONDOWN | Нажатие правой кнопки |
WM_NCRBUTTONUP | Отпускание правой кнопки |
Сообщения от клавиатуры | |
WM_CHAR | Ввод символа |
WM_DEADCHAR | Диакритический знак (умляут, ударение и т. д.) |
WM_KEYDOWN | Была нажата клавиша |
WM_KEYUP | Была отпущена клавиша |
WM_SYSCHAR | Ввод специального символа |
WM_SYSDEADCHAR | Специальный диакритический знак |
WM_SYSKEYDOWN | Была нажата специальная клавиша |
WM_SYSKEYUP | Была отпущена специальная клавиша |
Сообщения от таймера | |
WM_TIMER | Истекло заданное время |
Сообщение WM_MOUSEMOVE заслуживает особого упоминания, так как обрабатывается особым образом, чтобы избежать переполнения очереди аппаратных событий. Дело в том, что при быстром перемещении мыши могут произойти сотни прерываний. Во избежание переполнения очереди система Windows хранит только одно сообщение о перемещении мыши в каждый момент времени. Когда приходит новое сообщение, Windows проверяет, есть ли уже подобное. Если оно есть, то в нем обновляется информация о положении. Новое сообщение помещается в очередь сообщений только в том случае, если сообщения о перемещении мыши еще не было.
Сообщения от клавиатуры делятся на два основных типа: обычные и системные. Обычно системные сообщения от клавиатуры (начинающиеся на WM_SYS...) игнорируются, так как оконная процедура, устанавливаемая по умолчанию, превращает их в соответствующую системную команду.
Сообщения обслуживания окна. Здесь собраны наиболее часто используемые сообщения. К сожалению, имена не окажут большой помощи.
Таблица 6
Сообщения обслуживания окна
Название сообщения | Описание |
Оконные сообщения: уведомление | |
WM_ACTIVATE | Окно активно |
WM_ACTIVATEAPP | Приложение активно |
WM_DREATE | Окно было создано |
WM_DESTROY | Окно было уничтожено |
WM_ENABLE | Был разрешен ввод в окно |
WM_KILLFOCUS | Окно потеряло фокус ввода от клавиатуры |
WM_MOUSEACTIVATE | Окно станет активным после нажатия кнопки мыши |
WM_MOVE | Окно было перемещено |
WM_SETFOCUS | Окно получило фокус ввода от клавиатуры |
WM_S1ZE | Окно изменило размер |
Оконные сообщения: требование действия | |
WM_CLOSE | Закрыть (уничтожить) окно |
WM_ERASEBKGND | Удалить фон |
WM_CONERASEBKGND | Удалить фон окна, показываемого в виде пиктограммы |
WM_NCACTIVATE | Изменить заголовок окна для показа активного состояния |
WM_NCCREATE | Создать неклиентскую область окна |
WM_NCDESTROY | Уничтожить неклиентскую область окна |
WM_NCPAINT | Перерисовать неклиентскую область |
WM_PAINT | Перерисовать клиентскую область |
WM_PAINTICON | Перерисовать клиентскую область окна, показываемого в виде пиктограммы |
WM_SETREDRAW | Запретить перерисовку окна |
WM_SETTEXT | Изменить текст окна |
WM_SHOWWINDOW | Изменить режим отображения окна |
Оконные сообщения: запросы | |
WM_GETMINMAXINFO | Запрос информации о минимальном/максимальном размере окна |
WM_GETTEXT | Запрос текста заголовка окна, а для элементов, не имеющих заголовка (например, для кнопок) – текста, размещенного в окне |
WM_GETTEXTLINGTH | Запрос длины текста окна |
WM_NCCALCSIZE | Запрос размеров клиентской области |
WM_QUERYNEWPALETTE | Запрос существования новой палитры |
WM_QUERYOPEN | Запрос возможности открытия окна, отображаемого в виде пиктограммы |
Сообщение-уведомление говорит оконной процедуре о том, что состояние окна было изменено. При этом оконная процедура вовсе не должна выполнять действие, обозначенное именем сообщения. Например, сообщение WM_MOVE не является запросом на некоторое перемещение. Наоборот, оно является «сообщением после действия» и напоминает, что окно уже было перемещено. Обратите внимание, что из сообщения не ясно, каким образом произошло перемещение. Это могло быть результатом действий пользователя, равно как и другой программы. В любом случае сообщения-уведомления представляют собой одностороннюю связь с оконной процедурой.
Сообщение-требование действия говорит само за себя, так как отсутствие необходимого действия вызывает ошибку в интерфейсе пользователя. Например, сообщение WM_PAINT посылается оконной процедуре, если окно необходимо перерисовать (обновить) из-за изменения данных, связанных с окном, или в результате активизации и перевода окна на передний план из-за другого окна. Обычно устанавливаемая по умолчанию оконная процедура обеспечивает некоторые необходимые минимальные действия, однако зачастую следует перехватывать и обрабатывать такого рода сообщения самому, как в случае с сообщением WM_PAINT. При этом нередко нужно воспроизвести все действия обработчика, устанавливаемого по умолчанию.
Сообщения-запросы требуют ответа. Они используются для двусторонней связи между Windows и Вашей программой. Подобно сообщениям-требованиям действия, оконная процедура, устанавливаемая по умолчанию, даст приемлемый ответ в большинстве случаев. Сообщения-запросы следует перехватывать, если Вы хотите изменить ответ по умолчанию. Например, сообщение WM_QUERYOPEN возникает, когда пользователь попытается открыть минимизированное окно. Если Вы хотите, чтобы программа выполнялась только тогда, когда окно отображается в виде пиктограммы, то нужно просто ответить FALSE вместо TRUE, установленного по умолчанию.
Сообщения об организации интерфейса пользователя. Эта группа содержит сообщения для других объектов пользовательского интерфейса, включающих меню прикладной программы, указатель мыши, линейки прокрутки, блоки диалога и их элементы управления, а также сообщения, используемые для поддержки многодокументного интерфейса (MDI).
Таблица 7
Сообщения организации интерфейса пользователя
Название сообщения | Описание |
|
Сообщения от меню |
| |
WM_COMMAND | Был выбран пункт меню |
|
WM_INITMENU | Уведомление о возможности изменить меню перед его активизацией |
|
WM_MENUCHAR | Для выбора меню использована мнемоническая клавиша |
|
WM_MENUSELECT | Пользователь просматривает меню |
|
Окончание табл. 7 |
| |
Название сообщения | Описание |
|
Системные команды |
| |
WM_SYSCOMMAND | Была выбрана системная команда |
|
Сообщения от указателя мыши |
| |
WM_NCHITTEST | Передача в окно текущего положения указателя мыши |
|
WM_SETCURSOR | Уведомление окну при перемещении мыши с возможностью изменить курсор в зависимости от положения указателя |
|
| Сообщения линейки прокрутки | |
| WM_HSCROLL | Была нажата горизонтальная линейка прокрутки |
| WM_VSCROLL | Была нажата вертикальная линейка прокрутки |
| Сообщения блока диалога и его элементов управления | |
| WM_COMMAND | Управляющая связь с блоком диалога |
| WM_COMPAREITEM | Посылается родителю с запросом на сравнение двух элементов для сортировки |
| WM_CTLCOLOR | Управляющий запрос на установку цветов |
| WM_DELETEITEM | Уведомление, направляемое элементам управления ListBox и ComboBox о том, что удален элемент |
| WM_DRAWITEM | Запрос родителю пользовательских элементов управления и меню на рисование |
| WM_GETDLGCODE | Запрос оконной процедуре, какие типы сообщений будут ею впоследствии обрабатываться |
| WM_GETFONT | Запрос дескриптора основного шрифта отображения |
| WM_INITDIALOG | Запрос на инициализацию диалогового окна |
| WM_MEASUREITEM | Запрос родителю элемента управления на обеспечение его размеров при прорисовке |
| WM_SETFONT | Требование к элементу управления: использовать данный шрифт |
| Сообщения многодокументного интерфейса (MDI) | |
| WM_CHILDACTIVATE | Объявляет порождающему окну об активизации дочернего окна |
| WM_MDIACTIVATE | Объявляет дочернему окну MDI, что оно получает или теряет активизацию |
| WM_MDICASCADE | Требование оформить дочерние окна MDI в каскадной (ступенчатой) форме |
| WM_MDICREATE | Требование окну клиента MDI создать дочернее окно |
| WM_MDIGETACTIVE | Запрос окна клиента MDI о текущем активном дочернем окне |
| WM_MDIICONARRANGE | Требование упорядочить расположение дочерних окон MDI, отображаемых в виде пиктограмм |
| WM_MDIMAXIMIZE | Требование максимизировать дочерние окна MDI |
| WM_MDINEXT | Требование активизировать следующее дочернее окно MDI |
| WM_MDIRESTORE | Требование восстановить дочернее окно MDI в его предыдущем состоянии |
| WM_MDISETMENU | Настраивает меню для текущего дочернего окна MDI |
| WM_MDITITLE | Требование оформить дочерние окна MDI в форме черепичного (без перекрытий) расположения |
Сообщения о завершении. Эта группа сообщений самая малочисленная, но все они очень важны, так как используются для управления завершением приложений.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


