精易论坛

标题: 无边框,调整窗口大小 [打印本页]

作者: jingyi11023995    时间: 2016-3-17 19:54
标题: 无边框,调整窗口大小
代码是修改了一下别人的,原来只有右下角可调,现在增加了右边和下边可调,直接上源码,不用下载:

1、下面这个是DLL命令的:

.版本 2
.DLL命令 SendMessageA, 整数型, , "SendMessageA"
    .参数 窗口句柄, 整数型
    .参数 MSG, 整数型
    .参数 Wprarm, 整数型
    .参数 Lprarm, 整数型


2、这个是源码:

.版本 2
.子程序 __启动窗口_鼠标位置被移动, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (横向位置 ≥ _启动窗口.宽度 - 6 且 纵向位置 ≤ _启动窗口.高度 - 10)
    .如果真 (_启动窗口.随意移动 = 真)
        _启动窗口.随意移动 = 假
        鼠标指针 = { 12 }  ' 左右型
    .如果真结束
.否则
    .如果 (纵向位置 ≥ _启动窗口.高度 - 6 且 横向位置 ≤ _启动窗口.宽度 - 10)
        .如果真 (_启动窗口.随意移动 = 真)
            _启动窗口.随意移动 = 假
            鼠标指针 = { 10 }  ' 上下型
        .如果真结束
    .否则
        .如果 (横向位置 ≥ _启动窗口.宽度 - 6 且 纵向位置 ≥ _启动窗口.高度 - 6)
            .如果真 (_启动窗口.随意移动 = 真)
                _启动窗口.随意移动 = 假
                鼠标指针 = { 11 }
            .如果真结束
        .否则
            .如果真 (_启动窗口.随意移动 = 假)
                _启动窗口.随意移动 = 真
                鼠标指针 = { 0 }
            .如果真结束
        .如果结束
    .如果结束

.如果结束

.子程序 __启动窗口_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果真 (鼠标指针 = { 10 })  ' 上下型
    SendMessageA (_启动窗口.取窗口句柄 (), 161, 15, 0)  ' 调整控件大小
.如果真结束
.如果真 (鼠标指针 = { 11 })  ' 左上角-右下角
    SendMessageA (_启动窗口.取窗口句柄 (), 161, 17, 0)  ' 调整控件大小
.如果真结束
.如果真 (鼠标指针 = { 12 })  ' 左右型
    SendMessageA (_启动窗口.取窗口句柄 (), 161, 11, 0)  ' 调整控件大小
.如果真结束


作者: wmv520    时间: 2016-3-17 20:21
支持开源~!感谢分享
作者: ajuncctv    时间: 2016-3-17 20:58
支持一下 学习了
作者: Ys凉面    时间: 2016-3-17 21:28
支持开源~!感谢分享
作者: jingyi11023995    时间: 2016-3-18 10:39
增加一个文本型程序集变量“鼠标位置”,用来记录鼠标位置“左,右,上,下,左上角,左下角,右上角,右下角”,就可以完美实现各个位置可调了,附参数SendMessageA 第三个参数:
' 16是左下角,14是右上角,13是左上角,17是右下角
' 10是左,11是右,12是上,15是下
当然,后面的根据鼠标形状来判断的语句要改为根据程序集变量“鼠标位置”来判读。
作者: jingyi11023995    时间: 2016-3-18 12:04
整理和完善了一下代码:
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
变量名类 型数组备 注
鼠标位置文本型  

子程序名返回值类型公开备 注
_按钮1_被单击  
销毁 ()
子程序名返回值类型公开备 注
__启动窗口_鼠标位置被移动逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
如果 (横向位置 ≤ 6 纵向位置 > 6 纵向位置 < _启动窗口.高度 - 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 12 } ' 左右型
鼠标位置 = “左”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≥ _启动窗口.宽度 - 6 纵向位置 > 6 纵向位置 < _启动窗口.高度 - 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 12 } ' 左右型
鼠标位置 = “右”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (纵向位置 ≤ 6 横向位置 > 6 横向位置 < _启动窗口.宽度 - 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 10 } ' 上下型
鼠标位置 = “上”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (纵向位置 ≥ _启动窗口.高度 - 6 横向位置 > 6 横向位置 < _启动窗口.宽度 - 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 10 } ' 上下型
鼠标位置 = “下”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≤ 6 纵向位置 ≤ 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 11 }
鼠标位置 = “左上角”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≤ 6 纵向位置 ≥ _启动窗口.高度 - 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 9 }
鼠标位置 = “左下角”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≥ _启动窗口.宽度 - 6 纵向位置 ≤ 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 9 }
鼠标位置 = “右上角”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≥ _启动窗口.宽度 - 6 纵向位置 ≥ _启动窗口.高度 - 6)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 11 }
鼠标位置 = “右下角”
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


子程序名返回值类型公开备 注
__启动窗口_鼠标左键被按下逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
' 16是左下角,14是右上角,13是左上角,17是右下角
' 10是左,11是右,12是上,15是下
如果真 (鼠标位置 = “左”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 10, 0) ' 调整控件大小

如果真 (鼠标位置 = “右”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 11, 0) ' 调整控件大小

如果真 (鼠标位置 = “上”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 12, 0) ' 调整控件大小

如果真 (鼠标位置 = “下”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 15, 0) ' 调整控件大小

如果真 (鼠标位置 = “左上角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 13, 0) ' 调整控件大小

如果真 (鼠标位置 = “左下角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 16, 0) ' 调整控件大小

如果真 (鼠标位置 = “右上角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 14, 0) ' 调整控件大小

如果真 (鼠标位置 = “右下角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 17, 0) ' 调整控件大小

子程序名返回值类型公开备 注
__启动窗口_尺寸被改变  
' 按钮1.左边 = _启动窗口.宽度 ÷ 2 - 32
' 按钮1.顶边 = _启动窗口.高度 ÷ 2 - 12



作者: jingyi11023995    时间: 2016-3-20 23:59
测试和优化过的代码:
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
变量名类 型数组备 注
鼠标位置文本型  

子程序名返回值类型公开备 注
_按钮1_被单击  
销毁 ()
子程序名返回值类型公开备 注
__启动窗口_鼠标位置被移动逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
如果 (横向位置 ≤ 6 纵向位置 > 6 纵向位置 < _启动窗口.高度 - 6)
鼠标指针 = { 12 } ' 左右型
鼠标位置 = “左”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≥ _启动窗口.宽度 - 6 纵向位置 > 6 纵向位置 < _启动窗口.高度 - 6)
鼠标指针 = { 12 } ' 左右型
鼠标位置 = “右”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (纵向位置 ≤ 6 横向位置 > 6 横向位置 < _启动窗口.宽度 - 6)
鼠标指针 = { 10 } ' 上下型
鼠标位置 = “上”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (纵向位置 ≥ _启动窗口.高度 - 6 横向位置 > 6 横向位置 < _启动窗口.宽度 - 6)
鼠标指针 = { 10 } ' 上下型
鼠标位置 = “下”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≤ 6 纵向位置 ≤ 6)
鼠标指针 = { 11 }
鼠标位置 = “左上角”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≤ 6 纵向位置 ≥ _启动窗口.高度 - 6)
鼠标指针 = { 9 }
鼠标位置 = “左下角”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≥ _启动窗口.宽度 - 6 纵向位置 ≤ 6)
鼠标指针 = { 9 }
鼠标位置 = “右上角”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


如果 (横向位置 ≥ _启动窗口.宽度 - 6 纵向位置 ≥ _启动窗口.高度 - 6)
鼠标指针 = { 11 }
鼠标位置 = “右下角”
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
返回 ()
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }


子程序名返回值类型公开备 注
__启动窗口_鼠标左键被按下逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
' 16是左下角,14是右上角,13是左上角,17是右下角
' 10是左,11是右,12是上,15是下
如果真 (鼠标位置 = “左”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 10, 0) ' 调整控件大小

如果真 (鼠标位置 = “右”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 11, 0) ' 调整控件大小

如果真 (鼠标位置 = “上”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 12, 0) ' 调整控件大小

如果真 (鼠标位置 = “下”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 15, 0) ' 调整控件大小

如果真 (鼠标位置 = “左上角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 13, 0) ' 调整控件大小

如果真 (鼠标位置 = “左下角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 16, 0) ' 调整控件大小

如果真 (鼠标位置 = “右上角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 14, 0) ' 调整控件大小

如果真 (鼠标位置 = “右下角”)
SendMessageA (_启动窗口.取窗口句柄 (), 161, 17, 0) ' 调整控件大小



作者: 汰吥苛缌议嘞    时间: 2016-3-25 18:25
jingyi11023995 发表于 2016-3-18 10:39
增加一个文本型程序集变量“鼠标位置”,用来记录鼠标位置“左,右,上,下,左上角,左下角,右上角,右下 ...

直接上传个源码不是很好嘛
作者: guoruoan    时间: 2016-4-2 22:03

支持下。。。。。。
作者: zitiano    时间: 2018-7-16 15:45
本帖最后由 zitiano 于 2018-7-16 15:48 编辑

这个非常好,就是在边框位置时占用cpu
修改了一下代码,这样就不占用cpu了:

  
子程序名返回值类型公开备 注
__启动窗口_鼠标位置被移动逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
判断 (横向位置 ≤ 3)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 12 }  ' 左右型
鼠标位置 = “左”

判断 (横向位置 ≥ _启动窗口.宽度 - 3)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 12 }  ' 左右型
鼠标位置 = “右”

判断 (纵向位置 ≤ 3)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 10 }  ' 上下型
鼠标位置 = “上”

判断 (纵向位置 ≥ _启动窗口.高度 - 3)
如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 假
鼠标指针 = { 10 }  ' 上下型
鼠标位置 = “下”

如果真 (_启动窗口.随意移动 = )
_启动窗口.随意移动 = 真
鼠标指针 = { 0 }




作者: ryry123456    时间: 2019-2-9 11:05
支持开源学习
作者: ryry123456    时间: 2019-2-9 11:05
加油加油加油
作者: qianyue258    时间: 2022-2-28 17:01
666666666666666666666666
作者: qianyue258    时间: 2022-2-28 17:01
66666666666666666666666666666
作者: husongping    时间: 2022-11-25 17:08
支持一下哈哈




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4