8.3属性表单数据的动态添加和获取
对于一些输入框,文本框,可以通过SetDlgItemText等函数来动态设置值,这里需要主要在获取这些对象的时候,有些可能需要做指针的类型转换。对于一些列表控件(CListBox,CComboBox,CToolBarBox),可以通过AddString函数来动态添加列表的值。
1 ((CListBox*)GetDlgItem(IDC_LIST2))->AddString("1");
2 ((CListBox*)GetDlgItem(IDC_LIST2))->AddString("2");
3 ((CListBox*)GetDlgItem(IDC_LIST2))->AddString("3");
4 ((CListBox*)GetDlgItem(IDC_LIST2))->AddString("4");
这些动态数据的创建在下面2个函数中都可以完成,在2个函数中都做了下测试,显示方面都是正常的,OnSetActive和OnInitDialog,从2个函数的定义上来看,还是OnInitDialog更合适些。
要获取属性表单的数据,需要记清楚一个概念:当一个DoModal函数返回之后,对话框窗口就被销毁了,但是窗口类的对象并没有消失,因此任然何以用这个窗口类的对象去访问它的数据成员。
访问方式如下
1 CPropSheet cps("list");
2 cps.SetWizardMode();
3 if(ID_WIZFINISH==cps.DoModal())
4 {
5 m_iin=cps.m_prop1.m_iint;
6 Invalidate();//让类视图无效,引发重绘操作
7 }
好了,数据已经获取到了,可以执行相应的操作了
更多计算机等级考试资讯:零二七计算机等级考试网
艺考用户说说
友善是交流的起点