问题描述
- 我照着网上的编的可是都是错误??VS2008 mfc创建属性页????能
-
还有向导对话框???怎么做?
我的程序z1z12z2都是新建类void C向导对话框View::On1212()
{
// TODO: 在此添加命令处理程序代码
z12 a12(_T("aa"));
z1 a1;
z2 a2;
a12.AddPage(&a1);
a12.AddPage(&a2);
a12.DoModal();}
网上教程
第一步:新建一个单文档的工程;
第二步:在资源的菜单中加入一个调用属性对话框的菜单,代码先不要写;
第三步:再在资源中插入三个对话框,目的是用它们做三个属性页。并设他们的Border thin;Style:Child;
这里caption的值就是成功运行后它们在属性页中的标签了。
第四步:将这三个对话框分别做成类的形式,关键技术点是这三个对话框类要继承于CPropertyPage类。
以上四步完成后,有人会问,这三个属性页放在哪个框架中呢?是不是还要加一个对话框类做CPropertySheet呢?
回答是不用做对话框了。但是必须在“类视图”中添加一个MFC的新类,并且这个新类要继承于CPropertySheet,这是又是一个关键技术点;
不需要在这个类中加入任何代码,呵呵。如何你一定要加代码,比如想改一下属性对话框的尺寸什么的,就把这个类重载一个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();
}
错误:
: 缺少“;”(在标识符“a12”的前面): “a12”: 找不到标识符
“z1”: 未声明的标识符
缺少“;”(在标识符“a1”的前面)
“a1”: 未声明的标识符
“z2”: 未声明的标识符
: 缺少“;”(在标识符“a2”的前面)
“a2”: 未声明的标识符
: “a12”: 未声明的标识符
: “.AddPage”的左边必须有类/结构/联合
1> 类型是“'unknown-type'”
: “a1”: 未声明的标识符
: “a12”: 未声明的标识符
“.AddPage”的左边必须有类/结构/联合
1> 类型是“'unknown-type'”
等等