«

无边框窗口拖动窗口和修改窗口大小

时间:2026-5-22 16:52     作者:六度科技     分类: 易语言


SendMessageW(窗口句柄, 161, 10, 0) 中,消息 161WM_SYSCOMMAND(0x0112),而第三个参数 10-17 实际上是 WM_NCHITTEST 的返回值,用于指定窗口的哪个边缘/角落被拖动以改变大小。

这些值 2,10-17 的具体含义如下:

常量名 含义
2 HTLEFT 窗口标题栏,拖动窗口
10 HTLEFT 窗口左边框,允许水平向左拉伸
11 HTRIGHT 窗口右边框,允许水平向右拉伸
12 HTTOP 窗口上边框,允许垂直向上拉伸
13 HTTOPLEFT 窗口左上角,允许对角线向左上拉伸
14 HTTOPRIGHT 窗口右上角,允许对角线向右上拉伸
15 HTBOTTOM 窗口下边框,允许垂直向下拉伸
16 HTBOTTOMLEFT 窗口左下角,允许对角线向左下拉伸
17 HTBOTTOMRIGHT 窗口右下角,允许对角线向右下拉伸

易语言中用法:

.版本 2

.子程序 _标签_标题_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拖动窗口
发送信息 (161, 2, 0)
' 拉伸窗口 - 上边框
' 发送信息 (161, 12, 0)

.子程序 _标签_左_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 左边框
发送信息 (161, 10, 0)

.子程序 _标签_右_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 右边框
发送信息 (161, 11, 0)

.子程序 _标签_左上_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 左上角
发送信息 (161, 13, 0)

.子程序 _标签_右上_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 右上角
发送信息 (161, 14, 0)

.子程序 _标签_下_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 下边框
发送信息 (161, 15, 0)

.子程序 _标签_左下_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 左下角
发送信息 (161, 16, 0)

.子程序 _标签_右下_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

' 拉伸窗口 - 右下角
发送信息 (161, 17, 0)