таймер
От: Nadin_K Россия  
Дата: 28.05.02 15:16
Оценка:
Ребята, помогите, плиз! Не могу разобраться с ф-ей SetTimer, а точнее с 4-ым параметром и сообщением wm_timer. Пишу на Delphi. Хочу сделать простенькую прогу, которая создает и удаляет таймер, а таймер 'подключить' к примеру, увеличение ProgressBar'а на единицу(чтоб видеть работу таймера). Очень жду ответа.
С уважением, Надежда
Re: таймер
От: Gosha Украина  
Дата: 28.05.02 19:53
Оценка:
Здравствуйте Nadin_K, Вы писали:

NK>Ребята, помогите, плиз! Не могу разобраться с ф-ей SetTimer, а точнее с 4-ым параметром и сообщением wm_timer. Пишу на Delphi. Хочу сделать простенькую прогу, которая создает и удаляет таймер, а таймер 'подключить' к примеру, увеличение ProgressBar'а на единицу(чтоб видеть работу таймера). Очень жду ответа.

Грех девушке не помочь
Надя, не знаю как там с Делфи, но если внимательно прочитать описание SetTimer, то станет ясно, что четвертый параметр это либо указатель на функцию с прототипом:
VOID CALLBACK TimerProc(HWND,UINT,UINT,DWORD);

которая будет вызываться по истечении периода, указанного в третьем параметре SetTimer (uElapse), либо NULL (0), и тогда в обработчике сообщений твоего окна должна быть конструкция типа:
case WM_TIMER:
   if (wParam==1234) do1(); // на окно может быть "навешено"
   if (wParam==4321) do2(); // много таймеров, идентификатор
// который указывается во втором параметре SetTimer как раз
// и призван их различать

а приходить в оконную процедуру эти сообщения (WM_TIMER) будут, опять таки, в зависимости от uElapse.
Удачи.
Re: таймер
От: Dr_Sh0ck Беларусь  
Дата: 29.05.02 02:55
Оценка:
Здравствуйте Nadin_K, Вы писали:

NK>Ребята, помогите, плиз! Не могу разобраться с ф-ей SetTimer, а точнее с 4-ым параметром и сообщением wm_timer. Пишу на Delphi. Хочу сделать простенькую прогу, которая создает и удаляет таймер, а таймер 'подключить' к примеру, увеличение ProgressBar'а на единицу(чтоб видеть работу таймера). Очень жду ответа.


А что, стандарный компонент не подходит?
Do not fake yourself ;)
ICQ#: 198114726
Re[2]: таймер
От: Аноним  
Дата: 29.05.02 11:25
Оценка:
Здравствуйте Dr_Sh0ck, Вы писали:

DS>Здравствуйте Nadin_K, Вы писали:


NK>>Ребята, помогите, плиз! Не могу разобраться с ф-ей SetTimer, а точнее с 4-ым параметром и сообщением wm_timer. Пишу на Delphi. Хочу сделать простенькую прогу, которая создает и удаляет таймер, а таймер 'подключить' к примеру, увеличение ProgressBar'а на единицу(чтоб видеть работу таймера). Очень жду ответа.


DS>А что, стандарный компонент не подходит?

Нет, надо показать работу именно с API ф-ями, уже разобралась!
Re[2]: таймер
От: Аноним  
Дата: 29.05.02 11:30
Оценка:
Здравствуйте Gosha, Вы писали:

G>Грех девушке не помочь :)

G>Надя, не знаю как там с Делфи, но если внимательно прочитать описание SetTimer, то станет ясно, что четвертый параметр это либо указатель на функцию с прототипом:
G>
VOID CALLBACK TimerProc(HWND,UINT,UINT,DWORD);

G>которая будет вызываться по истечении периода, указанного в третьем параметре SetTimer (uElapse), либо NULL (0), и тогда в обработчике сообщений твоего окна должна быть конструкция типа:
G>
G>case WM_TIMER:
G>   if (wParam==1234) do1(); // на окно может быть "навешено"
G>   if (wParam==4321) do2(); // много таймеров, идентификатор
G>// который указывается во втором параметре SetTimer как раз
G>// и призван их различать
G>

G>а приходить в оконную процедуру эти сообщения (WM_TIMER) будут, опять таки, в зависимости от uElapse.
G>Удачи.

Спасибо, Гоша, сделала без этого сообщения wm_timer(не навешивала на окно). Работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.