递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1888|回复: 8
打印 上一主题 下一主题

[视窗] 无边框窗口,怎样才能实现像有边框窗口一样可调节大小

[复制链接]

41

主题

246

帖子

3598

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3598
跳转到指定楼层
楼主
发表于 2024-5-5 09:13:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


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


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



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

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


回复

使用道具 举报

69

主题

989

帖子

4466

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4466
沙发
发表于 2024-5-5 09:55:19 | 只看该作者
实时捕获鼠标位置和窗口位置,然后判断就行了
回复

使用道具 举报

113

主题

693

帖子

4378

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4378
板凳
发表于 2024-5-5 10:35:42 | 只看该作者
需要自己处理 WM_HITTEST 这个叫命中测试,在窗口发送WM_MOUSEMOVE前就会发送
具体 你可以百度一下 “无边框窗口拉伸” 或者 “WM_HITTEST消息”
需要注意的是,火山想实现这个功能 需要窗口子类化、超类化
QQ 89075309
回复

使用道具 举报

41

主题

246

帖子

3598

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3598
地板
 楼主| 发表于 2024-5-5 10:36:36 | 只看该作者
hcwanz 发表于 2024-5-5 09:55
实时捕获鼠标位置和窗口位置,然后判断就行了

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

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

使用道具 举报

113

主题

693

帖子

4378

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4378
5#
发表于 2024-5-5 10:39:08 | 只看该作者
这里还需要注意的是, 如果无边框窗口,拉伸左上角(左边或顶边)都会使 窗口右下角无规则抖动,
具体原因的名词 我不太会说, 好像是因为windows DWM 引起的,这个问题我已经解决了,并且兼容WIN7,
网上使劲搜应该能找到,这个确实很偏门,一般人不太搞得了,(你比如说旧版的QQ 他都存在这个问题)
只不过WIN10的QQ 或者说WIN10 有他自己方法,不过很复杂,且不兼容WIN7
QQ 89075309
回复

使用道具 举报

41

主题

246

帖子

3598

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3598
6#
 楼主| 发表于 2024-5-5 10:45:06 | 只看该作者
kamikaze 发表于 2024-5-5 10:39
这里还需要注意的是, 如果无边框窗口,拉伸左上角(左边或顶边)都会使 窗口右下角无规则抖动,
具体原因 ...

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

太复杂就容易暴雷,程序怎么崩溃的都不知道。。。。
回复

使用道具 举报

113

主题

693

帖子

4378

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4378
7#
发表于 2024-5-5 10:51:22 | 只看该作者
666 发表于 2024-5-5 10:45
那还真的需要官方出一个 无边框可调节窗口 选项,自己弄, 随时有可能暴雷啊。

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

这些都是进本操作。。。
QQ 89075309
回复

使用道具 举报

113

主题

693

帖子

4378

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4378
8#
发表于 2024-5-5 11:14:22 | 只看该作者
666 发表于 2024-5-5 10:36
简单的调节大小,是可以的。

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

当然可以实现啊
QQ 89075309
回复

使用道具 举报

113

主题

693

帖子

4378

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4378
9#
发表于 2024-5-5 11:15:53 | 只看该作者
这样,我可以写一个包你满意的例子, 但我是一个见钱眼开的小人,不知道老板怎么说
QQ 89075309
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 21:13 , Processed in 0.099266 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表