![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из своего класса обрабатывать сообщения некого окна? [D5, Win2k, WinXP]
Zilog © (2004-12-16 14:58:00)Как из своего класса обрабатывать сообщения некого окна?
есть у меня класс, возникла нужда обработать некоторые сообщения адресованные форме. В классе известен только handle этого окна.
Каким образом это можно сделать?
Leonid Troyanovsky (2004-12-18 12:58:00) [1]
> Leonid Troyanovsky © (17.12.04 22:46) [67]
> говорили про очередь окна, а не потока :)
Говорили:
> Господа, не игнорируйте, пжлст, мой вопрос [50] про очередь
> сообщений окна.
..
> А у окна разве бывает очередь сообщений?
> Я думал, что у потока она есть.
Я решил не игнорировать не только вопрос, но и утверждение.
Бо, с вопросом к тому времени уже разобрались.
--
С уважением, LVT.
KSergey (2004-12-18 11:01:00) [2]И все же мне было бы очень прелюбопытно устышать ответ автора на давно заданный вопрос:
> [60] Verg © (17.12.04 18:18)
> > Zilog © (17.12.04 17:59) [56]
> > я имел ввиду предок у него TWinControl,
>
> У кого?
А так - по-моему [47] Alexander Panov © (17.12.04 16:38) идейно как раз то, что надо подсказал.. Правда, проигнорированно, почему-то, было автором (как мне померещилось)...
Alexander Panov (2004-12-18 01:37:00) [3]>GuAV © (17.12.04 23:34) [68]
Уг, согласен на все 100-) вот так иногда поторопишься и сядешь в лужу;)
Игорь Шевченко (2004-12-18 01:17:00) [4]Zilog © (17.12.04 18:51) [63]
> он у меня распечатан, и я периодически в него заглядываю.
> И хочу сделать сам, а не просто передрать. Иначе хрен чему
> научишься
Я наверное чего-то не понимаю. У тебя есть готовый текст, с комментариями и толкованием, а ты зачем-то на форуме народ изводишь, да еще и наезжаешь. А книжку почитать не пробовал, раз она распечатана ? Так попробуй, это не больно, а иногда даже приятно.
Piter (2004-12-18 00:25:00) [5]Суслик © (17.12.04 17:20) [50]
А у окна разве бывает очередь сообщений?
нет, DispatchMessage вызывает оконную функцию сразу
Digitman © (17.12.04 18:10) [58]
в [50] ты прав на все 100
а Суслик молодец, он уже в [50] прав на все 100 :)
А в [100] он будет прав на все 200 :)
Суслик © (17.12.04 18:12) [59]
Вот спасибо, а то я подумал, что МСДН паленая у меня :)))
ага, у тебя перевод от Гоблина?
Leonid Troyanovsky © (17.12.04 22:46) [67]
говорили про очередь окна, а не потока :)
GuAV © (17.12.04 23:34) [68]
А есть ли она у процесса ?
нету. Имхо.
GuAV (2004-12-17 23:34:00) [6]Alexander Panov © (17.12.04 19:01) [65]
Конечно же, у процесса либо потока.
А есть ли она у процесса ? В прочем, не важно ;-)
Leonid Troyanovsky (2004-12-17 22:46:00) [7]> Суслик © (17.12.04 17:48) [55]
> Господа, не игнорируйте, пжлст, мой вопрос [50] про очередь
> сообщений окна.
Очередей сообщений у потока не одна, а целых несколько:
синхронных (sended-message queue),
асинхронных(posted-message queue),
ответных (reply-message queue),
виртуальной очереди ввода (virtualized input queue).
Подробности у Рихтера. Ну, и в msdn можно найти.
--
С уважением, LVT.
Zilog (2004-12-17 19:16:00) [8]Суслик © (17.12.04 18:58) [64]
да ничего уже не хочу, я уже давно [38] нашел то что искал.
>>Все ты читал, все знаешь, все приемы тебе известны а что хочешь не ясно.
и без этого, пожалуйста, слова эти не мои, и припысывать мне их не надо.
Alexander Panov (2004-12-17 19:01:00) [9]>Суслик ©
Спасибо за поправку насчет "очереди сообщений у окна".
Конечно же, у процесса либо потока.
Суслик (2004-12-17 18:58:00) [10]
> И хочу сделать сам, а не просто передрать. Иначе хрен чему
> научишься..
Ах я бедный, у Фихтенгольца передирал. Нет бы сам теоремы доказывать научился. Блин, несчастный я...
:)))
Ты сообще, автор, чего хочешь. Все ты читал, все знаешь, все приемы тебе известны а что хочешь не ясно.
:(
Zilog (2004-12-17 18:51:00) [11]>>Digitman © (17.12.04 18:20) [61]
волен иметь - это значит не факт что имеет?
к тому же, повоторяю, мне не нужны собственные сообщения.
>>Игорь Шевченко © (17.12.04 18:27) [62]
он у меня распечатан, и я периодически в него заглядываю. И хочу сделать сам, а не просто передрать. Иначе хрен чему научишься..
Игорь Шевченко (2004-12-17 18:27:00) [12]Тейксера с Пачеко такой компонент уже разработали. Если не хочется наступать на грабли и винить в граблях отвечающих, то рекомендую найти их книжку - Delphi 5, руководство разработчика. Хотя бы на сайте www.podgoretsky.com
Digitman (2004-12-17 18:20:00) [13]
> Zilog © (17.12.04 17:59) [56]
еще раз : каждыйтрэд волен иметь свою индивидуальнуюочередь сообщений, в которую система будет ставить сообщения, адресованные как непосредственно этому трэду, так и окнам, возможно им созданным.
ЧТО здесь непонятно ?
Verg (2004-12-17 18:18:00) [14]
> Zilog © (17.12.04 17:59) [56]
> >>Verg © (17.12.04 17:47) [54]
>
> я имел ввиду предок у него TWinControl,
У кого?
Суслик (2004-12-17 18:12:00) [15]
> [58] Digitman © (17.12.04 18:10)
Вот спасибо, а то я подумал, что МСДН паленая у меня :)))
Digitman (2004-12-17 18:10:00) [16]
> Суслик © (17.12.04 17:48) [55]
в [50] ты прав на все 100
Суслик (2004-12-17 18:04:00) [17]
> эээ... подозреваю что оконная процедура совсем не очередь,
> она всего лишь обрабатывает :)
я тоже всегда так думал, но кто-то тут сказал обратное.
Может я что-то пропустил? Потому и спрашиваю.
Zilog (2004-12-17 17:59:00) [18]>>Verg © (17.12.04 17:47) [54]
я имел ввиду предок у него TWinControl,
>>Суслик © (17.12.04 17:20) [50]
эээ... подозреваю что оконная процедура совсем не очередь, она всего лишь обрабатывает :)
Суслик (2004-12-17 17:48:00) [19]Господа, не игнорируйте, пжлст, мой вопрос [50] про очередь сообщений окна.
Verg (2004-12-17 17:47:00) [20]
> Zilog © (17.12.04 17:11) [48]
> ну, тут создается экземпляр класса TWinControl,
Где? Место, строчку покажи где.