Вниз
Скачать: CL | DM;

Пользовательские сообщения   Найти похожие ветки 

 
TTCustomDelphiMaster ©   (2002-11-06 14:45) [0]

Перелистывал книгу "Delphi 5. Руководство разработчика", наткнулся на такую фразу:
Сообщение должно иметь идентификатор в диапазоне от WM_USER+100 до $7FFFF ...

Почему от WM_USER+100, а не 200 или 300? Для чего тогда зарезервированы идентификаторы от WM_USER до WM_USER+99.
Я всегда пользовался идентификаторами от WM_USER+1 и т.д. и никаких проблем не было.


 
Игорь Шевченко ©   (2002-11-06 14:49) [1]

А полнее цитату нельзя привести ?


 
LongIsland ©   (2002-11-06 14:49) [2]

А там ошибки нет? Кажется позавчера читал несколько другое...


 
MBo ©   (2002-11-06 14:52) [3]

В этом диапазоне в исходниках описано несколько редких сообщений. Правда, встречается и WM_USER+100 и WM_USER+101


 
Игорь Шевченко ©   (2002-11-06 14:54) [4]

Для работы со своими окнами можно использовать от WM_USER до $1FFFF.


 
TTCustomDelphiMaster ©   (2002-11-06 15:06) [5]

MBo © (06.11.02 14:52)
Ага точно. Посмотрел исходники куча разных компонент активно используют сообщения от WM_USER+1 до WM_USER+200. Странно что об этом нигде не сказано :(

Игорь Шевченко © (06.11.02 14:49)
А там больше ничего интересного нет

LongIsland © (06.11.02 14:49)
WM_USER+100 написано в 2 местах, в тексте и примере. Думаю что с переводом числа 100 с англиского ошибки вознкнуть не могло


 
TTCustomDelphiMaster ©   (2002-11-06 15:19) [6]

Ааааа... Понял :)
Эти сообщения передаются через Perform оконной процедуре и другим компонентам не мешают. Проблемы могут возникнуть при создании потомков этих компонентов, но это уже заботы разработчика компанентов.
Так что все в порядке :)

Игорь Шевченко © (06.11.02 14:54)
Range Meaning
0 through WM_USER - 1 Messages reserved for use by Windows.
WM_USER through 0x7FFF Integer messages for use by private window classes.
0x8000 through 0xBFFF Messages reserved for future use by Windows.
0xC000 through 0xFFFF String messages for use by applications.
Greater than 0xFFFF Reserved by Windows for future use.


 
Alex4444444444   (2002-11-06 15:25) [7]

Delo v tom, chto Delphi sam ispol"zuet ogromnoe colichestvo soobshenij (sm. Controls.pas). Navernoe, WM_USER..WM_USER + $100 zareservirovany dlya Delphi (no ne dlya Windows).


 
Игорь Шевченко ©   (2002-11-06 15:33) [8]

TTCustomDelphiMaster © (06.11.02 15:19)

Про компоненты: надо учесть, что имеются сообщения вида CM_xxx и CN_xxx и не пересекаться с ними при описании собственных сообщений.


 
TTCustomDelphiMaster ©   (2002-11-06 19:40) [9]

Теперь понятно почему нужно использовать идентификаторы от WM_USER+100. Достаточно поместить на форму RichEdit...

procedure TForm1.Button1Click(Sender: TObject);
var
Msg: TMessage;
begin
with Msg do
begin
Msg := WM_USER + 67;
WParam :=0;
LParam :=$FF;
Result :=0;
end;
BroadCast(Msg);
end;



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

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



Память: 0.47 MB
Время: 0.016 c
1-59147
kserg@ukr.net
2002-11-08 18:19
2002.11.18
Как правильно определить свое событие и обработчик к нему


1-59107
mukha
2002-11-07 21:13
2002.11.18
QReport в Delphi-7 - есть ли он?


7-59462
^SANYA
2002-09-15 19:55
2002.11.18
Перехват смены раскладки клавиатуры...


1-59277
Acorus
2002-11-06 19:11
2002.11.18
Как лечить Delphi от access violation ?


1-59262
Uran
2002-11-05 09:02
2002.11.18
Поиск в html файле.




   Наверх