想在一个类A中调用另一个B对话框,做成非模态。我的方法如下:
在A的定义中,B* b;
在A的调用中,
b = new B();
b->Create(B::IDD);
b->ShowWindow(SW_SHOW)
结果,Create有时成功,有时失败,何解?
在A的定义中,B* b;
在A的调用中,
b = new B();
b->Create(B::IDD);
b->ShowWindow(SW_SHOW)
结果,Create有时成功,有时失败,何解?
解决方案 »
- 轮廓特征的提取
- 绘制的直线图形无法保存下来
- 穷鬼散分,活着的进来接分
- 在线等,一个基于对话框的VC程序在运行之后,需要用户紧急处理,如果用户不处理,就不允许用户切换到别的任务,该如何实现?
- 如何生成完整的图象数据……?。
- 将数组的图像数据存成BMP,出来的图是斜的,怎么办?
- 完成端口问题,为什么每次接收到数据以后dwIoError的值都是 997
- 急切,高分求救,MFC的ActivX可不可以做成视窗/文档结构?(分不够,散了再加)
- wabc(wabc),请教在CRichEditCtrl中如何获取当前光标所在的列。。。
- WM_KILLFOCUS对非模态的对话框是不是没有用啊
- 谁能给出画箭头的算法?
- 各位大侠们,请教,我在自己做的DLL中用ODBC访问数据库时为什么老是在访问是出错呢,急呀,谢谢
改为
b->Create(IDD_DIALOG);//IDD_DIALOG为对话框B的id号
也没有用,
原因是B::OnInitDialog()有时执行,有时不执行,但不知道是何故
在B中,应有一个A*变量,如A* pA;否则无模式对话框无法向A发消息。B::B(A* pParent)
{
pA = pParent;
}BOOL B::Create()//此函数不是虚函数
{
Return CDialog::Create(B::IDD);
}
然后:
b = new B(this);
if(b->Create())
b->ShowWindow(SW_SHOW)
b->Create(B::IDD);应改成CDialog::Create(B::IDD);个人看法,试试如何?
CWenrol2 dlg=new CWenrol2;
dlg->Create(IDD_DIALOG_WENROL2,this);
dlg->ShowWindow(SW_HIDE);
dlg->Create(IDD_DIALOG_WENROL2,this);
dlg->ShowWindow(SW_HIDE);