Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-59380
roadster
2002-10-30 10:30
2002.11.18
Модемное соединение в WIN2000


3-59015
VikOss
2002-10-29 14:09
2002.11.18
InterBase


1-59156
Cr@sh
2002-11-08 20:29
2002.11.18
Помогите, совсем глючить стал...


7-59448
Sasha9
2002-09-18 13:36
2002.11.18
Explorer


3-59073
S
2002-10-30 17:14
2002.11.18
Добавить колонку в базу данных!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский