点击某按钮弹出另一个窗体时,如何设置弹出的窗体的标题及其内部控件的标题?
有一个窗体XXX,上面有2个按钮(Btn1和Btn2)。
按Btn1后,弹出窗体YYY,窗体YYY的标题变为:111,窗体YYY中按钮m_OK的标题变为:aaa。
按Btn2后,也弹出窗体YYY,窗体YYY的标题变为:222,窗体YYY中按钮m_OK的标题变为:bbb。
在窗体XXX中:
void CXXXDlg::OnBtn1()
{
CYYYDlg dlg;
dlg.SetWindowText("111");
dlg.m_OK.SetWindowText("aaa");
int nResponse = dlg.DoModal();
}
void CXXXDlg::OnBtn2()
{
CYYYDlg dlg;
dlg.SetWindowText("222");
dlg.m_OK.SetWindowText("bbb");
int nResponse = dlg.DoModal();
}
编译没有问题,但一执行就出错。不知道为什么?请高人指点,谢谢!!!!
问题点数:100、回复次数:4Top
1 楼laiyiling(陌生人[MVP])回复于 2006-03-02 10:42:21 得分 100
请问怎样通过在一个窗体中操作使另外一个窗体的list control控件中写入值?http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=203350Top
2 楼dippstar(求知)回复于 2006-03-02 10:59:35 得分 0
谢谢,问题解决了!:)Top
3 楼fisker0303(天塌了,地陷了,小花狗不见了.)回复于 2006-03-02 11:00:36 得分 0
void CXXXDlg::OnBtn1()
{
CYYYDlg dlg;
dlg.SetWindowText("111");
dlg.m_OK.SetWindowText("aaa");
int nResponse = dlg.DoModal();
}
在dlg.DoModal调用之前,窗口还没有建立,
void CWnd::SetWindowText(LPCTSTR lpszString)
{
ASSERT(::IsWindow(m_hWnd));
if (m_pCtrlSite == NULL)
::SetWindowText(m_hWnd, lpszString);
else
m_pCtrlSite->SetWindowText(lpszString);
}
而SetWindowText函数需要窗口是已建立好了的,肯定会出错啦。Top
4 楼tufaqing()回复于 2006-03-02 11:09:10 得分 0
这样不行,窗口还没有创建呢你就SetWindowText(),肯定回报错的。解决的办法有一个:
在CYYYDlg类添加一个窗口标题成员CString m_strTitle;然后添加一个函数来初始化该变量(建议用构造函数),然后添加重载CYYYDlg::OnInitDialog(),在函数return TRUE;前添加SetWindowText(m_strTitle),要改变按钮标题也要在里面改,示例如下(测试成功):
CYYYDlg::CYYYDlg( CString strTitle )
: CDialog(CYYYDlg::IDD), m_strTitle(strTitle)
{
}
BOOL CYYYDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
SetWindowText(m_strTitle);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CXXXDlg::OnBtn1()
{
CYYYDlg dlg("111");
dlg.DoModal();
}Top
相关问题
- 怎么在弹出窗体中添加刷新主窗体的按钮
- 怎么样用asp.net(C#)实现点击按钮或图片,弹出小窗体,选择日期控件中某一天,并关闭小窗体,同时在textbox中显示日期时间的效果
- 遍历窗体控件,如果是按钮控件,就enable=false,怎么写?
- 用JS写的弹出框,为什么挡不住窗体原来的控件.?
- ASP.NET中如何点击一个按钮然后弹出一个WEB窗体?
- 急急急急急,两个form窗体如form1,form2 form1窗体先出现,点击form1的按钮,关闭form1弹出form窗体
- 窗体的按钮
- 怎样实现单击一个窗体的按钮之后,其实就触发了弹出窗体上某个按钮的单击呢?
- 急问如何在弹出的窗口中调用主窗体的控件变量?
- 在asp.net中用datagrid控件来显示数据,当双击记录行时弹出一个窗体..




