递归火山软件开发平台

标题: 无边框窗口,怎样才能实现像有边框窗口一样可调节大小 [打印本页]

作者: 666    时间: 2024-5-5 09:13
标题: 无边框窗口,怎样才能实现像有边框窗口一样可调节大小
(, 下载次数: 31)

当选择无边框窗口时,怎样才能实现像有边框窗口一样可调节窗口大小、与及在桌面边沿就填满半屏。。。


就QQ这种无边框窗口一样:

(, 下载次数: 31)

窗口边框属性,以后有没有可能增加:无边框可调节窗口,选项。

或者怎么才能魔改成:无边框窗口,也可调节窗口大小,功能与有边框可调节窗口的功能一样的无边框窗口。



作者: hcwanz    时间: 2024-5-5 09:55
实时捕获鼠标位置和窗口位置,然后判断就行了
作者: kamikaze    时间: 2024-5-5 10:35
需要自己处理 WM_HITTEST 这个叫命中测试,在窗口发送WM_MOUSEMOVE前就会发送
具体 你可以百度一下 “无边框窗口拉伸” 或者 “WM_HITTEST消息”
需要注意的是,火山想实现这个功能 需要窗口子类化、超类化
作者: 666    时间: 2024-5-5 10:36
hcwanz 发表于 2024-5-5 09:55
实时捕获鼠标位置和窗口位置,然后判断就行了

简单的调节大小,是可以的。

就是不能像有边框窗口一样 Win + 方向键 ,或拖动窗口占半屏之类的操作。
作者: kamikaze    时间: 2024-5-5 10:39
这里还需要注意的是, 如果无边框窗口,拉伸左上角(左边或顶边)都会使 窗口右下角无规则抖动,
具体原因的名词 我不太会说, 好像是因为windows DWM 引起的,这个问题我已经解决了,并且兼容WIN7,
网上使劲搜应该能找到,这个确实很偏门,一般人不太搞得了,(你比如说旧版的QQ 他都存在这个问题)
只不过WIN10的QQ 或者说WIN10 有他自己方法,不过很复杂,且不兼容WIN7

作者: 666    时间: 2024-5-5 10:45
kamikaze 发表于 2024-5-5 10:39
这里还需要注意的是, 如果无边框窗口,拉伸左上角(左边或顶边)都会使 窗口右下角无规则抖动,
具体原因 ...

那还真的需要官方出一个 无边框可调节窗口 选项,自己弄, 随时有可能暴雷啊。

太复杂就容易暴雷,程序怎么崩溃的都不知道。。。。
作者: kamikaze    时间: 2024-5-5 10:51
666 发表于 2024-5-5 10:45
那还真的需要官方出一个 无边框可调节窗口 选项,自己弄, 随时有可能暴雷啊。

太复杂就容易暴雷,程序 ...

这些都是进本操作。。。
作者: kamikaze    时间: 2024-5-5 11:14
666 发表于 2024-5-5 10:36
简单的调节大小,是可以的。

就是不能像有边框窗口一样 Win + 方向键 ,或拖动窗口占半屏之类的操作。 ...

当然可以实现啊
作者: kamikaze    时间: 2024-5-5 11:15
这样,我可以写一个包你满意的例子, 但我是一个见钱眼开的小人,不知道老板怎么说




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4