1::CPrintDialog::DoModal  virtual int DoModal();  返回值:  返回IDOK或IDCANCEL。如果返回的是IDCANCEL,则要调用WindowsCommDlgExtendedError函数来确定是否发生了一个错误。IDOK和IDCANCEL都是常量,它表明用户选择的是OK按钮还是Cancel按钮。  说明:  此函数用来显示Window
原创 2010-05-28 10:44:51
10000+阅读
1评论
使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回(请注意在对话框弹出后其他窗口的消息依然会被传递)。所以在使用对话框时其他窗口都不能接收用户输入。创建有模式对话框的方法是调用CDialog::DoModal()。下面的代码演示了这种用法:CYourView::OnOpenDlg() { CYourDlg dlg; int iRet=dlg.DoModal(); } CDialog::DoModal()的返回值为IDOK,IDCANCEL。表明操作者在对话框上选择“确认”或是“取消”。由于在对话框销毁前DoModal不会返回,所以可以使用局部变量来引用对象。在退
转载 2012-11-05 16:25:00
159阅读
2评论
DoModal会产生模态对话框(有模式的对话框,有“是”或者“否”供用户选择),函数运行到此处后不会马上返回,会等待用户的响应(响应后对话框销毁),在此对话框未销毁前,其他窗口不会接收到用户的输入(注意对话框弹出后,其他窗口的消息传递不受影响)。 CDialog::DoModal()的返回值为IDO
转载 2019-11-28 19:46:00
286阅读
2评论
在DLL中封装了一个非模态对话框窗口,但是在运行时希望能阻塞主线程,但是不阻塞界面DWORD WINAPI doModal(LPVOID p) {//线程函数 INT  i = 0; while (1) {  i++; Sleep(30); if (i == 2
原创 2018-08-11 15:38:08
1219阅读
新建一个基于对话框的MFC应用程序,在App的Initinstance中调用对话框DoModal()来显示
转载 2016-11-10 10:29:00
171阅读
2评论
int CDialog::DoModal(){ // can be constructed with a resource template or InitModalIndirect ASSERT(m_lpszTemplateName != N
ide
原创 2022-11-10 14:13:06
91阅读
前些日子做一个项目中,需要用到一个对话框。 但是对该对话框使用DoModal函数后该对话框死活弹不出来,单步跟踪的时候也没发现什么大问题。在网上搜索了很多方法都不奏效。后来发现原来是该对话框的属性里面设置了 WS_CHILD 属性。把该属性去掉程序立即可以成功运行了。在项目开发过程中这种问题是最令人心烦的,虽然不是很复杂,却也令人头疼不已。在这里写出来希望对大家有所帮助。
原创 2009-05-20 21:17:53
2498阅读
1评论
对话框DoModal()函数调用失败一般而言有两种表现形式:一是对话框弹不出来,但是没有错误提示;二是对话框弹不出来,同时伴随内存访问错误的提示框出现。   第一种表现主要是因为没有对资源句柄进行切换造成的,以在DLL中弹出对话框中最为常见。解决办法是:如果是MFC规则DLL,可以使用所有导出函数的开始处添加 AFX_MANAGE_STATE宏,具体代码为:AFX_MANAGE_STATE(Afx
转载 2010-06-01 16:58:00
53阅读
2评论
查了很多资料,都说DoModal()返回值为OK或CANCEL键的ID   其实,这种说法是错误的   MSDN是这样说明其返回值的         If successful, the value of the nRetCode parameter specified
转载 2017-09-06 11:05:16
2330阅读
朱金灿 对话框DoModal()函数调用失败一般而言有两种表现形 错误提示;二是对话框弹不出来...
转载 2008-06-22 23:30:00
207阅读
2评论
                                                                               朱金灿对话框 DoModal()函数调用失败一般而言有两种表现形式:一是对话框弹不出来,但是没有错误提示;二是对话框弹不出来,同时伴随内存访问错误的提示框出现。第一种表现主要是因为没有对资源句柄进行
原创 2021-12-16 09:34:31
826阅读
用dialog为例CAboutDlg dlg;dlg.DoModal();其中class CAboutDlg : public CDialogImpl<CAboutDlg>{...}当执行到dlg.DoModal();里面的return ::DialogBoxParam(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(stat...
转载 2009-08-05 00:07:00
45阅读
对话框有两种创建方式:DoModal和Creat。 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框
转载 2016-06-29 05:38:00
76阅读
2评论
Regular Dll using shared MFC DLLextern"C"__declspec(dllexport)voidShow(){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CTest test; test.DoModal ();}
MFC
原创 2022-05-19 21:41:01
350阅读
CFileDialog设置多选时的一个问题 前天同事问我在CFileDialog中多选时按确定按钮后DoModal函数的返回值是IDCANCEL。我说不太可能吧。他的代码大致如下: static TCHAR BASED_CODE szFilter[] = _T(&TXT(*.txt)|*.txt||&); CFileDialog dlg(TRUE,_T(&txt&), NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, szFilter, NULL ); INT_PTR nResult = dlg.DoModal(); 我测试
转载 2013-10-10 10:21:00
69阅读
2评论
DoModal源代码关键部分如下[代码]相对于CDialog的Create,DoModal多了一个RunModalLoop()这么一个消息循环(当然也有一些别的,比如在创建窗口之前disable父窗口)。因此关键在这个函数里,看进去,在文件VC\atlmfc\src\mfc\wincore.cpp里[代码]看到了吧,m_nFlags&WF_MODALLOOP就是用来判断本dialog是用D...
转载 2009-03-21 00:20:00
40阅读
void CMyADODlg::OnButtonAdd() { // TODO: Add your control notification handler code here CDlgAdd dlg; dlg.DoModal(); ShowItem("select * from LinkInfo"); } void CDlgAdd::OnButtonOk() { // TOD
转载 2023-06-17 07:29:32
91阅读
void CXXDlg::Setting(){    CSettingDlg dlg;  dlg.m_1= m_1; if(ID_OK == dlg.DoModal()){    m_1 = dlg.m_1;}}
--
原创 2022-12-22 18:49:08
54阅读
if(MessageBox(0,"这是一个两种属性的消息框!","标题",MB_ICONEXCLAMATION|MB_OKCANCEL )==IDCANCEL) { CAboutDlg aboutDlg; aboutDlg.DoModal(); }
转载 2019-08-28 22:10:00
88阅读
2评论
调用窗体的方法:// chart是一个MFC的窗体类chart *chartdialog = new chart;//调用窗体,获取返回值int ReturnValue = chartdialog->DoModal()
MFc
转载 2022-06-14 02:04:29
46阅读
  • 1
  • 2
  • 3