by konisi » 2006年12月20日(水) 20:14
Timerイベントは、プロジェクト(ノーマルウインドウベース又はDX対応アプリ)の時に使えます。
SetTimerは、
第一パラメータにウインドウのハンドル(#consoleで作った時の一意のハンドルの取得法は知りませんが、#promptなら_PromptSys_hWndだった気がします。)を入れて、
第二パラメータには識別ID(自分が使ってる奴の中でかぶってなければ何でもいいです。1とかでも。)を入れて、
第三パラメータにはタイムアウト値(たとえば、1秒ごとに呼び出したかったら1000にする。)を入れて、
第四パラメータにはAddressOf関数などで関数へのポインタを指定します。
例
コード: 全て選択
#prompt
Dim i As Long,ID As Long
ID=1
SetTimer(_PromptSys_hWnd,ID,1000,AddressOf(Func1))
Sleep(100000)
KillTimer(_PromptSys_hWnd,ID)
Sub Func1()
Print i
i=i+1
End Sub
コード: 全て選択
#prompt
Dim i As Long
SetTimer(_PromptSys_hWnd,1,1000,AddressOf(Func1))
Sleep(100000)
KillTimer(_PromptSys_hWnd,1)
Sub Func1()
Print i
i=i+1
End Sub
コード: 全て選択
Dim flag1 As Long,i As Long
Sub MainWnd_CommandButton1_Click()
If flag1=1 then Exit Sub
flag1=1
i=0
SetTimer(hMainWnd,1,1000,NULL)
End Sub
Sub MainWnd_CommandButton2_Click()
If flag1=0 then Exit Sub
flag1=0
KillTimer(hMainWnd,1)
End Sub
Sub Timer()
i=i+1
SetWindowText(GetDlgItem(hMainWnd,EditBox1),Str$(i))
End Sub
追記:過去ログは検索しましたか?
Timerイベントは、プロジェクト(ノーマルウインドウベース又はDX対応アプリ)の時に使えます。
SetTimerは、
第一パラメータにウインドウのハンドル(#consoleで作った時の一意のハンドルの取得法は知りませんが、#promptなら_PromptSys_hWndだった気がします。)を入れて、
第二パラメータには識別ID(自分が使ってる奴の中でかぶってなければ何でもいいです。1とかでも。)を入れて、
第三パラメータにはタイムアウト値(たとえば、1秒ごとに呼び出したかったら1000にする。)を入れて、
第四パラメータにはAddressOf関数などで関数へのポインタを指定します。
例[code]#prompt
Dim i As Long,ID As Long
ID=1
SetTimer(_PromptSys_hWnd,ID,1000,AddressOf(Func1))
Sleep(100000)
KillTimer(_PromptSys_hWnd,ID)
Sub Func1()
Print i
i=i+1
End Sub[/code][code]#prompt
Dim i As Long
SetTimer(_PromptSys_hWnd,1,1000,AddressOf(Func1))
Sleep(100000)
KillTimer(_PromptSys_hWnd,1)
Sub Func1()
Print i
i=i+1
End Sub[/code][code]Dim flag1 As Long,i As Long
Sub MainWnd_CommandButton1_Click()
If flag1=1 then Exit Sub
flag1=1
i=0
SetTimer(hMainWnd,1,1000,NULL)
End Sub
Sub MainWnd_CommandButton2_Click()
If flag1=0 then Exit Sub
flag1=0
KillTimer(hMainWnd,1)
End Sub
Sub Timer()
i=i+1
SetWindowText(GetDlgItem(hMainWnd,EditBox1),Str$(i))
End Sub[/code]
追記:過去ログは検索しましたか?