[乱]mfc与sdk笔记[五]

基于对话框与控件。

  1. 对控件可以进行类关联..然后使用的时候还得在dlg类中添加头文件
  2. 创建属性页。选择CPropertyPage类作基类创建类。但是创建后在classwizad看不到,需要在工程删掉clw文件,重新构建classclw就好了。可查看msdn。
    然后创建属性表单类,基类是CPropertySheet。然后增加以上类的成员变量。

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

Tags: ,

打开了评论功能,但是需要被审核,所以请耐心等待。