Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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