word python api_Python win32api.HIWORD属性代码示例

# 需要导入模块: import win32api [as 别名]

# 或者: from win32api import HIWORD [as 别名]

def nativeEvent(self, eventType, message):

retval, result = super(Window, self).nativeEvent(eventType, message)

if eventType == "windows_generic_MSG":

msg = ctypes.wintypes.MSG.from_address(message.__int__())

# 获取鼠标移动经过时的坐标

x = win32api.LOWORD(msg.lParam) - self.frameGeometry().x()

y = win32api.HIWORD(msg.lParam) - self.frameGeometry().y()

# 判断鼠标位置是否有其它控件

if self.childAt(x, y) != None:

return retval, result

if msg.message == win32con.WM_NCCALCSIZE:

# 拦截不显示顶部的系统自带的边框

return True, 0

if msg.message == win32con.WM_GETMINMAXINFO:

# 当窗口位置改变或者大小改变时会触发该消息

info = ctypes.cast(

msg.lParam, ctypes.POINTER(MINMAXINFO)).contents

# 修改最大化的窗口大小为主屏幕的可用大小

info.ptMaxSize.x = self._rect.width()

info.ptMaxSize.y = self._rect.height()

# 修改放置点的x,y坐标为0,0

info.ptMaxPosition.x, info.ptMaxPosition.y = 0, 0

if msg.message == win32con.WM_NCHITTEST:

w, h = self.width(), self.height()

lx = x < self.BorderWidth

rx = x > w - self.BorderWidth

ty = y < self.BorderWidth

by = y > h - self.BorderWidth

# 左上角

if (lx and ty):

return True, win32con.HTTOPLEFT

# 右下角

if (rx and by):

return True, win32con.HTBOTTOMRIGHT

# 右上角

if (rx and ty):

return True, win32con.HTTOPRIGHT

# 左下角

if (lx and by):

return True, win32con.HTBOTTOMLEFT

# 上

if ty:

return True, win32con.HTTOP

# 下

if by:

return True, win32con.HTBOTTOM

# 左

if lx:

return True, win32con.HTLEFT

# 右

if rx:

return True, win32con.HTRIGHT

# 标题

return True, win32con.HTCAPTION

return retval, result

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值