[Top Page][Edit][Discussion][Edit History][All Pages][Recent Changes][->Japanese]

ウィンドウタイマー処理

ウィンドウタイマーイベントの割り込み処理を行うことにより、マウスでウィンドウを移動させている間などにも処理を行うことができます。


HSP3.0で動作確認。

スクリプト

; <<<< HSP 3.0 サンプル >>>>
;
;   ウィンドウタイマーによる処理
;
;   タイマーイベントの割り込み処理を行うので、例えば
;   ウィンドウ移動中などの場合でも処理が行われます
;

#uselib "user32.dll"
#func SetTimer  "SetTimer"  int, int, int, int
#func KillTimer "KillTimer" int, int

#define WM_TIMER        0x0113

#define ID_TIMER        1       ; タイマーID (0 以外の値)

screen 0, 150, 100
oncmd  gosub *OnTimer, WM_TIMER
onexit gosub *OnClose

; 500 ミリ秒ごとにタイマーイベントを発生させる
SetTimer hwnd, ID_TIMER, 500, 0
stop

*OnTimer
; タイマーイベント発生時
; タイトルの時計を更新
sh = strf("%02d",gettime(4))
sm = strf("%02d",gettime(5))
ss = strf("%02d",gettime(6))
title sh+":"+sm+":"+ss
return

*OnClose
KillTimer hwnd, ID_TIMER
end