07-31-2006, 09:35 PM
To add timer, use function SetTimer in dialog procedure (it must be smart dialog). To remove timer, use KillTimer. To receive timer events, use WM_TIMER message.
Function Dialog13
Function Dialog13
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages
str controls = "3"
str e3
if(!ShowDialog("Dialog13" &Dialog13 &controls)) ret
;BEGIN DIALOG
;0 "" 0x90C80A44 0x100 0 0 221 133 "Form"
;1 Button 0x54030001 0x4 120 116 48 14 "OK"
;2 Button 0x54030000 0x4 170 116 48 14 "Cancel"
;3 Edit 0x54030080 0x200 6 4 96 14 ""
;4 Button 0x54032000 0x0 6 24 48 14 "Stop"
;END DIALOG
;DIALOG EDITOR: "" 0x2010900 "" ""
ret
;messages
sel message
,case WM_INITDIALOG
,DT_Init hDlg lParam
,SetTimer hDlg 1 1000 0 ;;1 is timer id (you can set many timers), 1000 is timer period in ms
,ret 1
,case WM_TIMER
,str s.getwintext(id(3 hDlg)); s=val(s)+1; s.setwintext(id(3 hDlg))
,case WM_DESTROY DT_DeleteData hDlg
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case 4
,KillTimer hDlg 1
,case IDOK
,DT_Ok hDlg
,case IDCANCEL
,DT_Cancel hDlg
ret 1