Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



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


2-1223369428
JustI
2008-10-07 12:50
2008.11.16
RowsAffected


6-1193484373
nemo
2007-10-27 15:26
2008.11.16
ошибка при отправке почты через smtp EIdProtocolReplyError


2-1223020665
Int23
2008-10-03 11:57
2008.11.16
Сколько тиков в часе в Вин64


2-1222950578
Brabus
2008-10-02 16:29
2008.11.16
Проверка существования поля в таблице




   Наверх