Windows Mobile中的非闭合关闭按钮(使用Qt开发)
每当我通过我用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开发人员,所以我不知道它在该框架中是如何完成的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |