无边框窗口拖动窗口和修改窗口大小
时间:2026-5-22 16:52 作者:六度科技 分类: 易语言
SendMessageW(窗口句柄, 161, 10, 0) 中,消息 161 是 WM_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)