我在一个Dialog里添加了一个ListBox,再加了个CListBox控制变量,
在调用DoModal()之前我要住ListBox里加些东西,
可我在
OnCreate()
OnInitDialog()
构造函数里操作Clistbox控制变量,它都是一个无效的,
那我要在什么地方操作这个变量?
在调用DoModal()之前我要住ListBox里加些东西,
可我在
OnCreate()
OnInitDialog()
构造函数里操作Clistbox控制变量,它都是一个无效的,
那我要在什么地方操作这个变量?
OnInitDialog() 这个有效
请问你是怎么加的??
dlg.mListCtrl.AddString("test");
dlg.DoModal();
应该可以, EditBox可以这样使
我解决的方法是:
在ListBox所在的对话框中的CTestDlg::OnInitDialog()中添加;
定义一个对话框的Public:CString m_Test;// 成员变量-获取初始化的变量信息
//如果要添加的多的话定义个: CStringArray 变量即可
CTestDlg::OnInitDialog()
{
mListCtrl.AddString(m_Test);
Updatate(false); //刷新显示
}
//------
在调用的时候
CTestDlg dlg;
dlg.m_Test="test"
dlg.DoModal();
这个方法也许不是最好的,但是可以使用
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_list.AddString("test");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}这样不就可以了吗。搞这么复杂。
而且一定要在调用了CDialog::OnInitDialog();以后再初始化。