加入收藏 | 设为首页 | 会员中心 | 我要投稿 孝感站长网 (https://www.0712zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

Windows Mobile中的非闭合关闭按钮(使用Qt开发)

发布时间:2021-02-23 05:03:32 所属栏目:系统 来源:网络整理
导读:每当我通过我用Qt开发的代码设置最大化 Windows Mobile应用程序时,它们的标题栏就会消失,并且只有Windows Mobile的默认标题栏.但是,每当我点击那个X按钮时,应用程序都不会关闭;相反,它一直在后面跑. alt text http://img27.imageshack.us/img27/2296/winmobi

每当我通过我用Qt开发的代码设置最大化 Windows Mobile应用程序时,它们的标题栏就会消失,并且只有Windows Mobile的默认标题栏.但是,每当我点击那个X按钮时,应用程序都不会关闭;相反,它一直在后面跑.

alt text http://img27.imageshack.us/img27/2296/winmobileexit.jpg

经过几次谷歌搜索,我意识到这是default behaviour for X button on Windows Mobile,这也是我问题的原因;当我想通过点击激活设置 – >系统 – >内存 – >运行程序来显示最小化/隐藏程序时,

alt text http://img17.imageshack.us/img17/7387/winmobileexit2.jpg

应用程序不会重新绘制并保持不可见,子窗口小部件会响应相应的事件:

alt text http://img505.imageshack.us/img505/5276/winmobileexit3.jpg

我不认为这种行为与我的代码有任何关联,因为即使使用以下简单代码也会出现此问题:(如果您可以在您的设备上测试,我将不胜感激)

#include <QApplication>
#include <QtGui>


int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    QLabel w("aduket");
    w.setWindowState(w.windowState()|Qt::WindowMaximized);
    w.show();
    return a.exec();
}

虽然,我试图得到那个按钮的关闭事件,但我不能.再一次,只有对我有用的解决方案是删除X按钮并在右下方菜单中添加一个Exit项.这合理吗?可能是这种行为的原因是什么?你知道如何解决这个问题吗?

提前致谢.

解决方法

“智能最小化”按钮由创建Windows时通常设置的样式位处理 – 特别是WS_NONAVDONEBUTTON.对于CF应用程序,可通过将MinimizeButton属性设置为false来控制此应用程序.在C/C++中,它是通过在调用CreateWindow时添加该位或在之后设置该位来完成的(直接或者,正如Shane建议的那样,通过SHDoneButton).

Qt显然正在创建一个Window,所以在这个过程中你需要改变样式位.我不是Qt开发人员,所以我不知道它在该框架中是如何完成的.

(编辑:孝感站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读