Разработка прикладных программ для ОС WINDOWS с помощью интегрированных сред Delphi / C++Builder. Баканов В.М. - 15 стр.

UptoLike

Составители: 

- 15 -
Например, нижеследующий С-оператор передает сообщение
WM_CLOSE форме Form_1
Form_1 -> Perform(WM_CLOSE, 0, 0);
Пользователь имеет возможность определить (в дополнение к предостав-
ляемым WINDOWS) и свои собственные сообщения - значение соответст-
вующего идентификатора должно быть больше величины WM_USER. На-
пример, можно определить пользовательское сообщение
WM_BAKANOV_IS_NOT_VERY_STUPID в стиле С как
#define WM_BAKANOV_IS_NOT_VERY_STUPID (WM_USER+Ox13)
Константа WM_USER используется для разграничения зарезервирован-
ных для WINDOWS номеров сообщений и частных (определенных пользова-
телем) сообщений. Все возможные номера сообщений разделены на 5 диапа-
зонов
от 0 до WM_USER-1
Номера сообщений, используемые WINDOWS
от WM_USER до 0x7FFF
Номера частных сообщений внутри данного класса
оконных компонентов
от 0x8000 до 0xBFFF
Зарезервированные для будущего использования в
WINDOWS номера сообщений
от 0xC000 до 0xFFFF
Номера, соответствующие строкам сообщений, ис-
пользуемых для обмена между приложениями и заре-
гистрированным функцией RegisterWindowMessage
окном
выше 0xFFF
Зарезервированные для будущего использования в
WINDOWS номера сообщений
Для объявления пользовательского сообщения следует определить его
имя
#define WM_MyMessage WM_USER
и в необходимый момент послать это сообщение
SendMessage(Form1->Handle, WM_MyMessage, 0, iMessage);
здесь iMessage - целое число, являющееся параметром сообщения. Для
обработки сообщения в теле адресата должна быть объявлена и реализована
соответствующая функция обработки (иначе сообщение будет принято, но не
обработано - будет вызван обработчик по умолчанию).
Синтаксис C / C++ требует наличия подобного нижеприведенному ис-
                                     - 15 -


  Например, нижеследующий            С-оператор     передает     сообщение
WM_CLOSE форме Form_1

Form_1 -> Perform(WM_CLOSE, 0, 0);

   Пользователь имеет возможность определить (в дополнение к предостав-
ляемым WINDOWS) и свои собственные сообщения - значение соответст-
вующего идентификатора должно быть больше величины WM_USER. На-
пример, можно определить       пользовательское              сообщение
WM_BAKANOV_IS_NOT_VERY_STUPID в стиле С как

#define WM_BAKANOV_IS_NOT_VERY_STUPID (WM_USER+Ox13)

   Константа WM_USER используется для разграничения зарезервирован-
ных для WINDOWS номеров сообщений и частных (определенных пользова-
телем) сообщений. Все возможные номера сообщений разделены на 5 диапа-
зонов

от 0 до WM_USER-1        Номера сообщений, используемые WINDOWS
от WM_USER до 0x7FFF     Номера частных сообщений внутри данного класса
                         оконных компонентов
от 0x8000 до 0xBFFF      Зарезервированные для будущего использования в
                         WINDOWS номера сообщений
от 0xC000 до 0xFFFF      Номера, соответствующие строкам сообщений, ис-
                         пользуемых для обмена между приложениями и заре-
                         гистрированным функцией RegisterWindowMessage
                         окном
выше 0xFFF               Зарезервированные для будущего использования в
                         WINDOWS номера сообщений

   Для объявления пользовательского сообщения следует определить его
имя

#define WM_MyMessage WM_USER

   и в необходимый момент послать это сообщение

SendMessage(Form1->Handle, WM_MyMessage, 0, iMessage);

   здесь iMessage - целое число, являющееся параметром сообщения. Для
обработки сообщения в теле адресата должна быть объявлена и реализована
соответствующая функция обработки (иначе сообщение будет принято, но не
обработано - будет вызван обработчик по умолчанию).
   Синтаксис C / C++ требует наличия подобного нижеприведенному ис-