我已经通过msdn了解GetMessage和dispatchMessage(&msg); function。 我使用visual c ++(x64)创build了一个button应用程序。
问题是当我使用GetMessage我的程序进入了无限循环。 突然我评论了GetMessage部分和我的button工作正常(我只有两个button,只有两个不同的button单击事件显示不同的对话框)。
我有两个问题:
首先,任何想法,为什么去除GetMessage解决了我的问题(你知道我用CreateDialogParam和DialogProc为我的button控件)。
有没有人使用smartwin(一个Windows C ++ GUI操作系统库)?
我可以操作一个窗口(进程),我还没有创build?
选项卡控件及其子窗口
什么是从窗口类访问应用程序variables的正确/可接受的devise?
为什么我的Button看起来像是从1990年开始的?
其次,据我了解(请纠正我,如果我错了), GetMessage接收消息(如果有这么多的消息一次),并在此之后dispatchMessage(&msg); 把这些消息一个接一个地发给他们,让他们完成工作。 如果第一个完成,那么第二个消息被分派等等,直到所有的消息都被处理完毕。
我的代码如下:
m_hwndPreview = CreateDialogParam( g_hInst,MAKEINTRESOURCE(IDD_MAINDIALOG),m_hwndParent,(DLGPROC)DialogProc,(LParaM)this); if (m_hwndPreview == NULL) { hr = HRESULT_FROM_WIN32(GetLastError()); } BOOL bRet; MSG msg; while ( (bRet=GetMessage (& msg,0)) != 0) { if (bRet == -1) { bRet = HRESULT_FROM_WIN32(GetLastError()); MessageBox(NULL,L"Hurr i am the error",L"Error",MB_ICONERROR | MB_OK); } else if (!IsDialogMessage (m_hwndPreview,& msg)) { TranslateMessage ( & msg ); dispatchMessage ( & msg ); MessageBox(NULL,L"there is no error in receivung the message",MB_ICONERROR | MB_OK); } } int refMsg= (int)msg.wParam; refMsg;
Windows允许有帮助button和最小/最大button的窗口?
编写我自己的自定义命令行“包装”为Windows
MFC滑块+编辑+微调模式
你可以在WinPE环境下使用哪些编程语言/平台进行GUI?
如何在使用箭头导航的bash脚本中创build接口?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。