VC:如何实现窗口和窗口内容在鼠标拖动下改变大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC:如何实现窗口和窗口内容在鼠标拖动下改变大小相关的知识,希望对你有一定的参考价值。

拖动鼠标,窗口大小改变同时,窗口里的东西也在相应拖动方向上自动缩放。

窗口缩放不是问题,只要你的窗口边框是Resizing就行了

重载OnPaint()然后GetClientRect()再用你得到的这个RECT把你的内容缩放到合适的尺寸,刷到屏幕上。
参考技术A 让你的窗口里的内容大小跟窗口大小相关联,比如,你要画个矩形,不要用(100,100,200,200),这样肯定是固定大小,要用GetClientRect()获得窗口大小,然后根据窗口的大小画你的图形,这样就能跟着窗口改变。
如: CRect rect;
GetClientRect(&rect);//get the window's rect
int a=rect.right-rect.left;
int b=rect.bottom-rect.top;
参考技术B OnSize中处理

Qt自定义界面边框后,移动鼠标拖动界面,界面会拖到任务栏以下。。。如何解决?

setWindowFlags(Qt::FramelessWindowHint);隐藏界面边框后,通过自定义鼠标移动效果引发的,算是Bug吧!
本应实现的效果是:上面的是界面,下面的是任务栏,鼠标卫浴任务栏之上时,界面就不能向下拖动了!

重写鼠标控制窗体移动事件追问

这个我知道,但是具体的资料很少!很不淡定。。。学了Qt将近2个月,好多东西都还不会!

追答

具体百度下“Qt中拖拽窗口以改变位置的实现 ”
不熟悉的话去论坛把,那边都是大神啊膜拜- -

追问

OK,好的,虽然没解决,但是相信车到山前必有路!

参考技术A 任务管理器,结束任务试试 参考技术B 什么软件

以上是关于VC:如何实现窗口和窗口内容在鼠标拖动下改变大小的主要内容,如果未能解决你的问题,请参考以下文章

如何使用某个组合键+鼠标移动来调整窗口大小? (如 Linux 中的 Alt+F8)不单击并拖动

c# WINFORM窗体如何设置才可以不能随意拖动大小

VC/MFC 无边框鼠标拉伸改变窗口大小

Qt中怎样把窗口类型设置成可用鼠标拖动改变大小???急!!!

在Word中,按住啥后拖动鼠标就可以改变窗口最大化的位置

VC 怎么动态改变控件大小