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

Вниз

Вопрос по таймеру   Найти похожие ветки 

 
KyRo ©   (2004-03-21 23:56) [0]

Подскажите как при помощи апи создать таймер и обрабатывать его события ??


 
Diamond Cat ©   (2004-03-22 03:28) [1]

SetTimer(HWND hWnd,
   UINT nIDEvent,
   UINT uElapse,
   TIMERPROC lpTimerFunc)
обрабатывать сообщения wm_timer, сообщения приходят в функцию определенную в TIMERPROC , либо если эта функция не определена, то сообщения посылаються в оконную функцию от окна с дескриптором hwnd


 
KyRo ©   (2004-03-23 00:43) [2]

А интервал где выставлять ??


 
Adder ©   (2004-03-23 01:12) [3]

Хм...а справку посмотреть - религия не позволяет?
uElapse

Specifies the time-out value, in milliseconds.


 
Adder ©   (2004-03-23 01:13) [4]


program Timer;
uses
 Windows,
 Messages;
function MyWndProc(Window:HWND;Mess:word;
        WParam:LongInt;LParam:LongInt):LongInt;stdcall;
  begin
    case Mess of
      WM_CREATE: Result:=0;
      WM_DESTROY:
           begin
//Удаляем таймер
              KillTimer( Window, 1 );
              PostQuitMessage(0);
              Result:=0
           end;
      WM_TIMER:
           begin
             MessageBox(Window,"Ёк","Timer сработал!",MB_OK);
             Result:=0
           end;
      else Result:=DefWIndowProc(Window,Mess,WParam,LParam)
  end;
end;

var
wc:TWndClass;
wnd:HWND;
Msg:TMsg;

PollingDelay:integer=5000; //5000 - интервал 5 сек

begin
//Регистрация класса окна
wc.style:=CS_HREDRAW+CS_VREDRAW;
wc.lpfnWndProc:=@MyWndProc;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=HInstance;
wc.hIcon:=LoadIcon(THandle(nil),IDI_APPLICATION);
wc.hCursor:=LoadCursor(THandle(nil),IDC_ARROW);
wc.hbrBackground:=COLOR_WINDOW+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:="MyWndClass";

if (RegisterClass(wc)=0) then exit;

//создаем окно
wnd:=CreateWindow("MyWndClass","Таймер",
    WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,
    0,0,HInstance,nil);
//Устанавливаем таймер
SetTimer( Wnd, 1, PollingDelay, nil );

//показываем окно
ShowWindow(wnd,SW_RESTORE);
UpdateWindow(wnd);
//начинаем тривиальный цикл сообщений
while GetMessage(Msg,0,0,0) do
 begin
  TranslateMessage(Msg);
  DispatchMessage(Msg)
 end
end.


 
Германн ©   (2004-03-23 01:43) [5]

Удалено модератором
Примечание: Оффтопик -) ps Ответ - нет


 
Diamond Cat ©   (2004-03-24 04:06) [6]


> Adder ©

надо было просто спросить у человека а что собственно он хочет изобразить, и написать ему программу :-( совсем мозгой закиснут.
Или уж поставить интервал что-нить из разряда 50 милисек. Хоть смешно бы было, человек бы упарился месаги закрыват :о)


 
Adder ©   (2004-03-24 14:18) [7]

Удалено модератором
Примечание: OffTopic


 
Германн ©   (2004-03-25 02:30) [8]

Удалено модератором
Примечание: OffTopic



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.032 c
4-1077013392
KosilkA
2004-02-17 13:23
2004.05.16
иконку из ехе в файл


1-1083069431
DimaLos
2004-04-27 16:37
2004.05.16
Изменить цвет TCheckBox


1-1083573849
Amid
2004-05-03 12:44
2004.05.16
Создать Функцию каторая ждала сообщение от Сервера


1-1082953631
WondeRu
2004-04-26 08:27
2004.05.16
Cursor in RUNTIME


14-1082878097
konstantinov
2004-04-25 11:28
2004.05.16
Как отключить autorun в ХР





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