[乱]mfc与sdk笔记[五]
基于对话框与控件。
- 对控件可以进行类关联..然后使用的时候还得在dlg类中添加头文件
- 创建属性页。选择CPropertyPage类作基类创建类。但是创建后在classwizad看不到,需要在工程删掉clw文件,重新构建classclw就好了。可查看msdn。
然后创建属性表单类,基类是CPropertySheet。然后增加以上类的成员变量。- //在CPropertySheet构造函数中
- AddPage(&m_prop1);
- AddPage(&m_prop2);
- AddPage(&m_prop3);
- //然后属性表单的类就构建完成。因为该类继承于CWnd,所以要显示的时候可以直接调用DoModal来显示
- //在一个地方如
- Onpropertysheet()
- {
- CPropSheet proSheet("属性表单");
- propSheet.DoModal();//显示一个模态的属性表单
- }
- 向导的创建。跟上面差不多。不过要在DoModal之前调用一个SetWizardModal()就可以变成向导了。不过需要修改一下按钮,上一步下一步。
- SetWizardButtions();//可以设置向导的按钮。应该在OnSetActive();函数调用
- //增加OnSetActive函数可以直接右键add Function添加就好了,它是虚函数
- //例如在Prop1中可以
- OnSetActive()
- {
- ((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_NEXT);
- }
- //以禁止上一步按钮..
- 单选控件。可以就Group打钩,然后第一个 单选的关联变量就是0,接着是1,2。需要关联上,关于关联变量在上一个笔记有讲。
- 列表框: 类是CListBox
- //添加列表框
- AddString("ABC");//这个函数
- //示例中..
- ((CListBox*)GetDlgItem(IDC_LIST1))->AddString("北京");
- //这样就在控件增加了字符了
- 组合框(下拉) : CComboBox类
- ((CComboBox*)GetDlgItem(IDC_COMBO))->AddString("北京");//增加项
- ((CComboBox*)GetDlgItem(IDC_COMBO))->SetCurSel(1);//设置默认项
- int GetCurSel(); // 获取传递的索引值。
- GetLBText(int nIndex,CString& rString);//索引接受字符串
- 向导输出。
- if(ID_WIZFINISH == propSheet.DoModal())
- {
- xxx = proSheet.m_prop.xxx; //可以直接从实例化的对象赋值
- Invalidate(); //使之无效引起重绘(OnDraw)
- }
-
- memset();//c语言设置初始化数组