![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
Всем привет, вот вырезка из книги Финогенова "Основы программирования WIn32":
![]() Что значит обязяны. Насколько мне известно если мы не хотим обрабатывать сообщение WM_TIMER, то можем в функции SetTimer() в последнем параметре указать адрес функции которая будет вызываться каждые n миллисекунд (указываемые во втором параметре). Значит нам вовсе не нужно создавать окно с циклом обработки сообщения. Я не прав? Это сообщение отредактировал(а) yngwie19 - 5.4.2009, 23:05 |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ну, окно ты можешь и не создавать, а цикл - надо
эти таймеры впринципе, не работают без очереди сообщений, даже с callback'ом, и даже без окна, в таком случае окно назначаешь сам (в том же цикле) без очереди - это waitable-таймеры: http://msdn.microsoft.com/en-us/library/ms687008(VS.85).aspx или независимые очереди таймеров: http://msdn.microsoft.com/en-us/library/ms687003(VS.85).aspx первый попроще -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
GremlinProg, т.е при использовании SetTimer(), обязятельно нужно регестрировать структуру wc (в которой в одном из параметров указать адрес оконной процедуры). И организовать цикл обработки сообщений таким образом ?:
и еще вопрос поясни что значит Это сообщение отредактировал(а) yngwie19 - 6.4.2009, 07:13 |
|||
|
||||
| GremlinProg |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
не, не обязательно очередь сообщений создается автоматически, когда к ней осуществляется доступ, так что достаточно просто цикла `main message loop` http://msdn.microsoft.com/en-us/library/ms644901(VS.85).aspx четвертый пример:
Добавлено через 2 минуты и 47 секунд очередь сообщений для этих таймеров - синхронизация с окном, подобно функции TThread::Synchronize в делфи или билдере -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
||||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| yngwie19 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
GremlinProg, Понятно, дак что в таком случае если написать:
и не писать:
то все будет работать как надо? а куда тогда GetMessage() передает сообщение ? |
||||
|
|||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
если без окон, то вникуда, главное - сообщения таймера будут крутиться, как он того ожидает Добавлено через 1 минуту и 46 секунд тебе ведь это и нужно было? -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |