MFC下同一个工程中怎么实现对话框和对话框2上的控件通信啊
我搞了很久也搞不定,老是程序挂着,我在想我调用的方法好像都是符合逻辑啊。怎么好掉呢。
void CMFCDlg::OnButton1()
{ //Dlg2.m_Edit2.SetWindowText("从对话框1设置对话框2的数据X"); //Dlg2->m_Edit2.SetWindowText("从对话框1设置对话框2的数据X");
//GetDlgItem(IDC_EDIT2)->SetWindowText("sssssssss");
//Dlg2=new CClass;
//Dlg2->GetDlgItem(IDC_EDIT2)->SetWindowText("xxxxxxx");
//Dlg2->m_Edit2.SetWindowText("xxxxxxxxxxx");
//CWnd *P=GetDlgItem(IDD_DIALOG1);
//P->GetDlgItem(IDC_EDIT2)->SetWindowText("XXXXXXXXX");
Dlg2->DoModal();
}
===============================================这是我的定义的对象 两种方法定义都试过了。。
class CMFCDlg : public CDialog
{
// Construction
public:
CClass *Dlg2; //CClass 是新建对话框2 他从CDialog继承来的
// CClass Dlg2;
只有最后一行代码可运行。。用来显示对话框2出来的、、
以上是我用的方法来和新建对话框2上的编辑框控件进行通信 都运行不了 直接程序崩溃。。求原因!!
谢谢啊,,那位可以解释下为什么程序会崩溃啊。。我用的是VC6.0
我搞了很久也搞不定,老是程序挂着,我在想我调用的方法好像都是符合逻辑啊。怎么好掉呢。
void CMFCDlg::OnButton1()
{ //Dlg2.m_Edit2.SetWindowText("从对话框1设置对话框2的数据X"); //Dlg2->m_Edit2.SetWindowText("从对话框1设置对话框2的数据X");
//GetDlgItem(IDC_EDIT2)->SetWindowText("sssssssss");
//Dlg2=new CClass;
//Dlg2->GetDlgItem(IDC_EDIT2)->SetWindowText("xxxxxxx");
//Dlg2->m_Edit2.SetWindowText("xxxxxxxxxxx");
//CWnd *P=GetDlgItem(IDD_DIALOG1);
//P->GetDlgItem(IDC_EDIT2)->SetWindowText("XXXXXXXXX");
Dlg2->DoModal();
}
===============================================这是我的定义的对象 两种方法定义都试过了。。
class CMFCDlg : public CDialog
{
// Construction
public:
CClass *Dlg2; //CClass 是新建对话框2 他从CDialog继承来的
// CClass Dlg2;
只有最后一行代码可运行。。用来显示对话框2出来的、、
以上是我用的方法来和新建对话框2上的编辑框控件进行通信 都运行不了 直接程序崩溃。。求原因!!
谢谢啊,,那位可以解释下为什么程序会崩溃啊。。我用的是VC6.0
解决方案 »
- 辞职了 不知道以后会不会搞程序 在CSDN也没啥贡献 走之前散个分吧...
- [HELP]用换皮肤控件SkinMagic生成的EXE,被别的程序调用执行看不到效果。。。
- VC project中打开RTTI开关有什么用,
- mfc 单文档,一个对话框中能否调用另外一个对话框的窗口显示?ShowWindow 异常问题。解决问题马上结贴。
- MFC ODBD 数据库操作 在做过滤查询时,抛出这样的错误,帮忙看看阿!!!
- 想把一些函数功能做成一个com,出现了下面的错误,请高手指导一下
- 请问图像序列化::Serialize(CArchive& ar)有啥用啊
- 再发一次:我在做一个控制面板程序,就剩最后一个错误了。
- 在WIN95下怎么注册COM DLL??
- OnTimer的时间问题
- 帮忙看一段函数,看不懂要怎么改进,非常急啊,谢谢啦
- 求一本好点的介绍通信编程方面的书
且一般情况下
对于建立模态对话框使用 对象实例.domodal()
对于建立非模态对话框
先new
再create
再show
Dlg2->DoModal();
没出错?
指针的话就用->,在showwindow前修改
嗯 是啊,,我也觉得奇怪了,我只定义了这样一个指针,,还没有在堆中创建该对象怎么会可以调用呢 而且也没有错误,, new CClass 怎么回事啊。。不理解,因为在C++里面不可以这么调用的。。
Dlg2->DoModal();
改为
CClass Dlg2;
Dlg2.DoModal();
不就是
CClass Dlg2;
Dlg2.SetDlgItemText(IDC_EDIT2,_T("xxxxxxx"));
Dlg2.DoModal();
指针时木有create
且一般情况下
对于建立模态对话框使用 对象实例.domodal()
对于建立非模态对话框
先new
再create
再show
今天看了孙鑫的书 才知道