02-06-2020, 12:02 PM
Again some posts were lost...
----
Function click_drag_detect
----
Function click_drag_detect
str dd=
;BEGIN DIALOG
;0 "" 0x90CC0AC8 0x0 0 0 301 186 "Dialog"
;3 ActiveX 0x54030000 0x0 2 2 220 132 "SHDocVw.WebBrowser"
;END DIALOG
;DIALOG EDITOR: "" 0x2040601 "*" "" "" ""
int hwnd hook
str controls = "3"
str ax3SHD
if(!ShowDialog(dd &sub.DlgProc &controls)) ret
#sub DlgProc v
function# hDlg message wParam lParam
sel message
,case WM_INITDIALOG
,,hwnd=hDlg
,,hook=SetWindowsHookEx(WH_GETMESSAGE &sub.Hook_WH_GETMESSAGE 0 GetCurrentThreadId)
,case WM_DESTROY
,,UnhookWindowsHookEx hook
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1
#sub DragDropExample
function hDlg
__Drag d
d.Init(hDlg 1)
rep
,if(!d.Next) break
,out F"{d.p.x} {d.p.y}"
,d.cursor=2
out d.dropped
#sub Hook_WH_GETMESSAGE v
function# nCode remove MSG&m
if(nCode<0) goto gNext
sel m.message
,case WM_LBUTTONDOWN
,,POINT p; xm p
,,RECT R; DpiGetWindowRect id(3 hwnd) &R
,,if PtInRect(&R p.x p.y)
,,,if DragDetect(hwnd p)
,,,,out "drag"
,,,,m.message=0
,,,,sub.DragDropExample hwnd
,,,,ret
;gNext
ret CallNextHookEx(0 nCode remove &m)