绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
2月152017

AU3窗口跟随与吸附

作者:绿色风   发布:2017-2-15 13:34 Wednesday   分类:源码示例   阅读:6890次   评论:0条  

#include <WindowsConstants.au3>
Global Const $WM_MOVING = 0x216
Global $from2_s = False
$From1 = GUICreate('移动我', 300, 300, 300, 300)
$pos1 = WinGetPos($From1)
GUIRegisterMsg($WM_MOVING, 'WM_MOVING')
GUIRegisterMsg(0x3, "WM_MOVE")
GUISetState()
$From2 = GUICreate('', 300, 300, 600, 300, -1, -1, $From1)
GUISetState()
$from1_pos = WinGetPos($From1)
Do
Until GUIGetMsg() = -3
Func WM_MOVING($hWnd, $iMsg, $iwParam, $ilParam)
        GUIRegisterMsg(0x3, "")
        If $hWnd = $From1 And $from2_s = False Then
                $tBuffer = DllStructCreate($tagRECT, $ilParam) ;$tagRECT结构,包含左、顶、右、底坐标
                $iLeft = DllStructGetData($tBuffer, "Left")
                $iTop = DllStructGetData($tBuffer, "Top")
                WinMove($From2, "", $iLeft + $from1_pos[2], $iTop)
                WinMove($From1, "", $iLeft, $iTop)
                Return
        Else
                $from2_s = True
        EndIf
        If $hWnd = $From2 Then
                $tBuffer = DllStructCreate($tagRECT, $ilParam) ;$tagRECT结构,包含左、顶、右、底坐标
                $iLeft = DllStructGetData($tBuffer, "Left")
                $iTop = DllStructGetData($tBuffer, "Top")
                $from1_pos = WinGetPos($From1)
                $x = $from1_pos[0] + $from1_pos[2] - $iLeft
                $y = $from1_pos[1] - $iTop
                If Abs($x) < 30 And Abs($y) < 30 Then WinMove($From2, "", $from1_pos[0] + $from1_pos[2], $from1_pos[1])
        EndIf
        GUIRegisterMsg(0x3, "WM_MOVE")
EndFunc   ;==>WM_MOVING
Func WM_MOVE()
        $from1_pos = WinGetPos($From1)
        $from2_pos = WinGetPos($From2)
        $x = $from1_pos[0] + $from1_pos[2] - $from2_pos[0]
        $y = $from1_pos[1] - $from2_pos[1]
        If Abs($x) < 30 And Abs($y) < 30 Then
                WinMove($From2, "", $from1_pos[0] + $from1_pos[2], $from1_pos[1])
                $from2_s = False
        EndIf
EndFunc   ;==>WM_MOVE```
<br />




本文固定链接: http://www.jianyiit.com/post-255.html

blogger
该日志由 绿色风 于2017-2-15 13:34 Wednesday发表在 源码示例 分类下。
版权所有:《绿色风's Blog》 → 《AU3窗口跟随与吸附》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::Php-authcode算法之AU3版
下一篇:AutoIT V3的其它语言论坛的导航【AU3】

热门文章

相关文章

  • 获取进程列表路径
  • 解密磊科路由器配置文件获取帐号密码
  • AU3高级目录文件遍历
  • AU3获取内存和CPU占用
  • 图片分割器
取消回复

发表评论

亲,头像对么?

98 + 29 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7241 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap