Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

WM_USER +100 vs WM_USER +400   Найти похожие ветки 

 
Германн ©   (2008-09-17 03:56) [0]

Не ну. А всё таки какие идентификаторы сообщений стоит пользовать в программах? И когда и почему?


 
Городской Шаман   (2008-09-17 04:46) [1]

Использовать стоит получаемые с помощью RegisterWindowMessage.


 
KilkennyCat ©   (2008-09-17 04:54) [2]


> И когда

Когда необходимо

>  и почему?

Потому что необходимо
:)


 
antonn ©   (2008-09-17 08:57) [3]


> Германн ©   (17.09.08 03:56)
>
> Не ну. А всё таки какие идентификаторы сообщений стоит пользовать
> в программах? И когда и почему?

"нужно написать программу" (с)

PS извините :)


 
Игорь Шевченко ©   (2008-09-17 09:07) [4]


> А всё таки какие идентификаторы сообщений стоит пользовать
> в программах? И когда и почему?


А без разницы, лишь бы не пересекаться с другими желающими.


 
Григорьев Антон ©   (2008-09-17 09:08) [5]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=169#08

Только там не написано про +100 и +400. Я уже видел здесь упоминания о том, что это теперь надо обязательно добавлять к WM_USER, но подтверждения в доках пока не нашёл. Если кто-то ткнёт носом в ссылку, буду весьма признателен.


 
Поросенок Винни-Пух ©   (2008-09-17 09:17) [6]

я меньше тысячи не использую


 
clickmaker ©   (2008-09-17 11:07) [7]

WM_USER - 0x7FFF для своих оконных классов
WM_APP - 0xBFFF для приложений


 
jack128_   (2008-09-17 11:21) [8]


> что это теперь надо обязательно добавлять к WM_USER, но
> подтверждения в доках пока не нашёл. Если кто-то ткнёт носом
> в ссылку, буду весьма признателен.

ссылку не дам, но где то читал, что сообщения из диапазона WM_USER..WM_USER + 100 используются какими то стандартными классами из comctrls.dll


 
Григорьев Антон ©   (2008-09-17 11:37) [9]


> jack128_   (17.09.08 11:21) [8]
> ссылку не дам, но где то читал, что сообщения из диапазона
> WM_USER..WM_USER + 100 используются какими то стандартными
> классами из comctrls.dll


Ну, используются, ну и что? И за пределами этого диапазона тоже используются, причём не только comctrls.dll, но и стандартными оконными классами. Например, EN_HSCROLL=WM_USER+$201, EN_VSCROL=WM_USER+$202. Просто диапазон WM_USER..WM_APP зарезервирован для классовых сообщений, программист, который делает такое сообщение, обязан следить за тем, чтобы оно посылалось только окнам того класса, для которого предназначено. В этом случае абсолютная уникальность номеров сообщений не требуется, два разных сообщения, предназначенных для разных оконных классов, вполне могут иметь одинаковый номер. Всё это в MSDN хорошо описано.


 
jack128_   (2008-09-17 13:29) [10]

const
 WM_MYMSG = WM_USER + 1;
TMyListView = class(TListView)
private
 procedure WMMyMsg(var Message: TMessage); message WM_MYMSG; // возможны проблемы
end;

понятно, что тут програмимст сам себе злобный буратина, но проще всегда писать WM_USER + 100 (или + 400) и не забивать себе голову такими вещами


 
Германн ©   (2008-09-17 14:43) [11]


> Просто диапазон WM_USER..WM_APP зарезервирован для классовых
> сообщений, программист, который делает такое сообщение,
> обязан следить за тем, чтобы оно посылалось только окнам
> того класса, для которого предназначено.

Ага. Спасибо Антон.



Страницы: 1 вся ветка

Текущий архив: 2008.11.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1223535329
engine
2008-10-09 10:55
2008.11.16
WebServices


2-1223239360
Lamer6666
2008-10-06 00:42
2008.11.16
Как добавить свойство объекту?


2-1223026415
Развёртка
2008-10-03 13:33
2008.11.16
Развернуть досовское окноий экран программы на весь экран


6-1195035982
sdaf
2007-11-14 13:26
2008.11.16
чат для локальной сети


2-1223343510
Developer
2008-10-07 05:38
2008.11.16
Несколько Form в проекте,Показ Формы.