08-02-2022, 02:11 PM
sorry got busy for a few. This should cover all
Macro Macro17
Trigger #M
Macro Macro17
Trigger #M

POINT p; xm(p) ;;get mouse position into p.x and p.y
str dd=
;BEGIN DIALOG
;0 "" 0x90C812C8 0x0 0 0 224 136 "Dialog"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040C00 "*" "" "" ""
if(!ShowDialog(dd &sub.DlgProc 0)) ret
#sub DlgProc v
function# hDlg message wParam lParam
sel message
,case WM_INITDIALOG
,SetTimer hDlg 1 100 0
,case WM_TIMER
,int cx cy waL waW
,GetWorkArea 0 0 waL waW
,GetWinXY hDlg 0 0 cx cy
,if(p.x+cx >= waL || p.x-cy<= 0)
,,mou 0.5 0.5 hDlg;;center of the work area. Default: 0
,if(p.y+cy>= waW || p.y-cy<=0)
,,mou 0.5 0.5 hDlg;;center of the work area. Default: 0
,KillTimer hDlg 1
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1