如题,求助
解决方案 »
- MFC通过ADO连接局域网内的SQL数据库
- 基于winpcap开发中的一件怪事
- 窗口的重绘是否发生在showwindow() 之间
- 请问,如何用ZIP算法压缩(解压缩)一个字符串(应该是一段内存空间,不一定是字符类型的)?
- 继续提问:DLL中的难题!(导出类与消息映射)
- 有人用过MATLAB的comtool吗?我想知道如何在vc++里面调用MATLAB生成的COM组件
- 请教有那位高手研究过DICOM,请给小地点指点
- 如何获取RICHEDIT中插入的图片的位置信息
- 分别用边填充算法和栅栏填充算法填充如图所示的封闭图形
- ++++++++++++本人打算做一个OICQ自动收发信息的软件。++++++++++++++++++++++++++
- 怎样得到Combobox控件的ID值?
- 请教各位如何获取BMP图片的宽高,单位是厘米。
VC 技术内幕
window programing 等。
{
CYourDlg dlg;
int iRet=dlg.DoModal();
}CDialog::DoModal()的返回值为IDOK,IDCANCEL。表明操作者在对话框上选择“确认”或是“取消”。由于在对话框销毁前DoModal不会返回,所以可以使用局部变量来引用对象。在退出函数体后对象同时也会被销毁。而对于无模式对话框则不能这样使用无模式对话框与有模式对话框不同的是在创建后其他窗口都可以继续接收用户输入,因此无模式对话框有些类似一个弹出窗口。创建无模式对话框需要调用
BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );之后还需要调用
BOOL CDialog::ShowWindow( SW_SHOW);进行显示,否则无模式对话框将是不可见的。相关代码如下: void CYourView::OnOpenDlg(void)
{
/*假设IDD_TEST_DLG为已经定义的对话框资源的ID号*/
CTestDlg *dlg=new CTestDlg;
dlg->Create(IDD_TEST_DLG,NULL);
dlg->ShowWindows(SW_SHOW);
/*不要调用 delete dlg;*/
}在上面的代码中我们新生成了一个对话框对象,而且在退出函数时并没有销毁该对象。因为如果此时销毁该对象(对象被销毁时窗口同时被销毁),而此时对话框还在显示就会出现错误。