易语言操作窗口应用例子

易语言 2020-07-04 12:56:18

易语言操作窗口应用例子开源。
.子程序 ClockCycle
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 Msg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 32位消息的特定附加信息,通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
.参数 lParam, 整数型, , 32位消息的特定附加信息,通常是一个指向内存中数据的指针。
.局部变量 RECT, _RECT
.局部变量 POINTAPI, _POINTAPI

处理事件 ()
GetWindowRect (hwnd, RECT)
GetCursorPos (POINTAPI)
.如果 (PtInRect (RECT, POINTAPI.x, POINTAPI.y) ≠ 0) ' 鼠标在窗口内
.判断开始 (RECT.Top ≤ -(RECT.Bottom - RECT.Top) + GetProp (hwnd, “BaseValue”)) ' 在顶边伸缩
SetWindowPos (hwnd, 0, RECT.Left, 0, 0, 0, 69)
SetProp (hwnd, “AutoFlex”, 0)
.判断 (RECT.Left ≤ -(RECT.Right - RECT.Left) + GetProp (hwnd, “BaseValue”)) ' 在左边伸缩
SetWindowPos (hwnd, 0, 0, RECT.Top, 0, 0, 69)
SetProp (hwnd, “AutoFlex”, 0)
.判断 (RECT.Right ≥ 取屏幕宽度 () + RECT.Right - RECT.Left - GetProp (hwnd, “BaseValue”)) ' 在右边伸缩
SetWindowPos (hwnd, 0, 取屏幕宽度 () - RECT.Right + RECT.Left, RECT.Top, 0, 0, 69)
SetProp (hwnd, “AutoFlex”, 0)