QT去掉边框后窗口拖放控制大小及移动窗口
作者:收割者,适用平台:QT
在一般情况下,我们编写的窗口,都有一个标准的窗口框架,这个标准框架提供了标题栏及边框,而边框可以帮助我们通过拖放来控制窗口的大小,例如,当把鼠标指针放到上边框的时候,指针鼠标发生变化,这时按下鼠标左键的同时拖动鼠标,就可以改变窗口的大小,同样,当把鼠标指针放到左边,右边,四个角上等,鼠标指针都会发生相应的变化,但是有的时候,我们不需要窗口的标准框架,这时候,我们可以对顶层窗口(top-level)设置属性Qt::FramelessWindowHint,如果还需要保留点击任务栏时显示或最小化窗口,在添加属性Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint。这样一来就去除了标准框架,只剩下客户区(MFC,WIN32中概念),很多软件的界面都去除了标准框架,然后进行美化,如QQ,迅雷,酷狗等,都没有windows普通窗口上的边框和标题栏。
但是这样一来却失去了边框带给我们的功能,探测鼠标的位置,改变指针的形状,拖动改变窗口的大小。针对QT平台,我编写了一个DLL,当中包含了代码实现了表框框架的这些功能,另外,由于没有了标题栏,在窗口的标题栏按下鼠标移动窗口的功能也失去了,本DLL也完成了这个功能。
至于这个dll中输出函数的使用方法,在头文件中已经有说明。
Debug版:http://download.csdn.net/detail/xinzhiyounizhiyouni/8521407
Release版:http://download.csdn.net/detail/xinzhiyounizhiyouni/8521413
本文原址:CSDN博客
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。