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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
2-1223030545
Alex7
2008-10-03 14:42
2008.11.16
Наследование от главной формы


15-1221592684
Spartak
2008-09-16 23:18
2008.11.16
Delphi


15-1221421091
{RASkov}
2008-09-14 23:38
2008.11.16
Организация малой сети


11-1195305295
Сидор
2007-11-17 16:14
2008.11.16
MsgOk: сделать модальным


2-1223285035
123-ий
2008-10-06 13:23
2008.11.16
Вопрос по Dfm файлу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский