分享

VS2008?MFC如何做属性页

 寂静如河 2012-02-20

用VS2008 MFC做属性页思路

    庭博网校原创,转载请指明出处

第一步:新建一个单文档的工程;

第二步:在资源的菜单中加入一个调用属性对话框的菜单,代码先不要写;

第三步:再在资源中插入三个对话框,目的是用它们做三个属性页。并设他们的Border thin;Style:Child;

        这里caption的值就是成功运行后它们在属性页中的标签了。

第四步:将这三个对话框分别做成类的形式,关键技术点是这三个对话框类要继承于CPropertyPage类。

    以上四步完成后,有人会问,这三个属性页放在哪个框架中呢?是不是还要加一个对话框类做CPropertySheet呢?

   回答是不用做对话框了。但是必须在“类视图”中添加一个MFC的新类,并且这个新类要继承于CPropertyPage,这是又是一个关键技术点;

    不需要在这个类中加入任何代码,呵呵。如何你一定要加代码,比如想改一下属性对话框的尺寸什么的,就把这个类重载一个OnInitDialog();在这里去修改属性对话框的窗口。

    说到这里,有人会问:这个属性对话框究竟是多大呢?答案是:它以你做得三个对话框中的最大的那人为准。

    页面何时加到属性框架中呢?这正是我要往下讲的:

    打开资源文件中的menu菜单,为刚才加入的菜单编辑代码,对于单文档工程,菜单要选view类才行哦,说明菜单是为视图服务的。呵呵,原来,属性框架和属性页是在这个地方联系起来的哟!

    典型代码:

void CmypropertyView::On32771()
{
 // TODO: 在此添加命令处理程序代码
 CMyPropSheet pt1(_T("属性对话框范例"));
 CMypro1 m_p1;
 CMypro2 m_p2;
 CMypro3 m_p3;
 pt1.AddPage(&m_p1);
 pt1.AddPage(&m_p2);
 pt1.AddPage(&m_p3);
 pt1.DoModal();
}

编译运行就可以了。

小结:1、先做三个属性页类并继承于CPropertyPage;

      2、新建一个类并继承于CPropertySheet;

      3、(1)和(2)在视图中发生关系。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多