![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Организация обработки клавиш в потоке [D7, WinXP]
Юра © (2007-07-30 14:20:00)Каким образом можно организовать обработку клавиш в потоке(в методе Execute)?
Eraser (2007-07-30 15:53:00) [1]
> Юра (30.07.07 14:25) [4]
примерно так
while GetMessage(Mmsg,0,0,0) do
begin
// Коддд.
end;
только, чтобы сообщения доходили до этого потока, нужно их отсылать вручную или же сделать данный поток потоком ввода.
Юра (2007-07-30 14:47:00) [2]Хм...ну да..так будет легче. Спасибо.
Инс (2007-07-30 14:46:00) [3]
> Кстати принимает коды клавиш основной поток, как их передать
> во вспомогательный?
Как угодно, PostThreadMessage, например
Инс (2007-07-30 14:44:00) [4]
> Хочу чтоб вспомогательный поток ожидал нажатия клавиш, а
> основной поток выполнял в это время другие действия.
Обычно делают наоборот. Главный поток занимается пользовательским вводом, когда второстепенные выполняют другие действия
Юра (2007-07-30 14:40:00) [5]А зачем?
Ответ:
Хочу чтоб вспомогательный поток ожидал нажатия клавиш, а основной поток выполнял в это время другие действия.
Кстати принимает коды клавиш основной поток, как их передать во вспомогательный?
Инс (2007-07-30 14:34:00) [6]
> для начала организовать в этом потоке обработку очереди
> сообщений.
И не только. Получатель сообщения ведь тоже должно быть окно, созданное этим потоком.
> Юра (30.07.07 14:20)
А зачем?
Сергей М. (2007-07-30 14:29:00) [7]
> Юра (30.07.07 14:25) [3]
Мдя..
Юра (2007-07-30 14:25:00) [8]Обработка клавиш - это выполнение некорых дествий в зависимости от нажатой клавиши.
Юра (2007-07-30 14:25:00) [9]Eraser а как ее организовать?
Eraser (2007-07-30 14:23:00) [10]
> Юра (30.07.07 14:20)
для начала организовать в этом потоке обработку очереди сообщений.
Сергей М. (2007-07-30 14:22:00) [11]Чтот такое "обработка клавиш" ?