我在父窗口的某个按钮上点一下后要弹出一个子窗口
比如在按钮函数中定义一个类
CSubDlg SubDlg;然后SubDlg.DoModal弹出对话框
但是SubDlg里面有个静态文本控件,我想在DoModal前修改其显示的文字比如子窗口的类里我创建了变量m_static_edit
在DoModal之前我SubDlg.m_static_edit.SetWindowText("123123123")
执行这句话的时候就报错了,别人告诉我那是因为虽然定义了SubDlg但是SubDlg里面的空间句柄还未生成
这里我不是很理解,因为之前我用的是C,刚接触C++和MFC,在C里面结构体定义了一个变量
当实体化一个结构体的时候那个变量应该也是分配了内存空间,这里我实例化一个字窗口的对象后,m_static_edit这个为什么还不能使用以上是疑问1然后别人跟我说,要先Create一下
于是我SubDlg.Create(子窗口ID)
之后就能使用m_static_edit来设置控件的文本了
不过Create后就成了非模态化要用ShowWindow了而不能再使用DoModal了
而我希望弹出子窗口,等子窗口点了确定返回,然后父窗口的那个按钮继续往下执行,再次改变该子窗口的静态文本中的内容,然后再次弹出子窗口,以此类推,比如有些恶作剧小程序点了一个按钮后弹出一个框说你好啊,然后点下确定它又弹出来了你是谁啊,直到点了N次可能不弹了这样的东西。
之前搜索过,有的同学说可以弹出子窗口禁用父窗口,这样弹出后就不能点父窗口了,这样貌似就像模态化了
但是父窗口没等子窗口返回就执行以下面的代码了,然后按了一下按钮后直接显示我设置的最后一句话了,这显然不是我想要的以上是疑问2请问用什么方法可以实现我想要的东西,小弟刚接触MFC/C++,望大侠指教啊,顺便上面那个疑问也帮忙回答一下啊不知道我说清楚了没
比如在按钮函数中定义一个类
CSubDlg SubDlg;然后SubDlg.DoModal弹出对话框
但是SubDlg里面有个静态文本控件,我想在DoModal前修改其显示的文字比如子窗口的类里我创建了变量m_static_edit
在DoModal之前我SubDlg.m_static_edit.SetWindowText("123123123")
执行这句话的时候就报错了,别人告诉我那是因为虽然定义了SubDlg但是SubDlg里面的空间句柄还未生成
这里我不是很理解,因为之前我用的是C,刚接触C++和MFC,在C里面结构体定义了一个变量
当实体化一个结构体的时候那个变量应该也是分配了内存空间,这里我实例化一个字窗口的对象后,m_static_edit这个为什么还不能使用以上是疑问1然后别人跟我说,要先Create一下
于是我SubDlg.Create(子窗口ID)
之后就能使用m_static_edit来设置控件的文本了
不过Create后就成了非模态化要用ShowWindow了而不能再使用DoModal了
而我希望弹出子窗口,等子窗口点了确定返回,然后父窗口的那个按钮继续往下执行,再次改变该子窗口的静态文本中的内容,然后再次弹出子窗口,以此类推,比如有些恶作剧小程序点了一个按钮后弹出一个框说你好啊,然后点下确定它又弹出来了你是谁啊,直到点了N次可能不弹了这样的东西。
之前搜索过,有的同学说可以弹出子窗口禁用父窗口,这样弹出后就不能点父窗口了,这样貌似就像模态化了
但是父窗口没等子窗口返回就执行以下面的代码了,然后按了一下按钮后直接显示我设置的最后一句话了,这显然不是我想要的以上是疑问2请问用什么方法可以实现我想要的东西,小弟刚接触MFC/C++,望大侠指教啊,顺便上面那个疑问也帮忙回答一下啊不知道我说清楚了没
str1=str; //给成员变量赋值
}3、在Init中给控件赋值,把成员变量赋值给控件。 GetDlgItem(IDC_STATIC1)->SetWindowText(str1); 在父窗口中调用赋值方法后,再DoModalCDialog dlg;
dlg.SetText(L"控件文本内容");
dlg.DoModal;