谁有MFC和ARX利用Wizard混合编程的例子让我参悟一下好吗?
\ObjectARX\DocSamples\MFCSamples\.有
可以
向导对话框的设计与属性页对话框的设计基本一样,都使用CPropertySheet类和CPropertyPage类的派生类。但向导对话框需要使用SetWizardMode()函数。向导对话框的设计:
(1) 使用“ObjectARX 2000 AppWizard”向导,并选中“Use MFC”,创建名为“wizard”的工程。
(2) 使用工具条上的“ObjectARX Command”,创建一个组名为MCAD_,命令名为ws 的命令。
(3) 使用菜单Insert=>Resource…项,创建三个ID分别为IDD_DIALOG1、IDD_DIALOG2和IDD_DIALOG3的对话框资源,并分别删除“OK”和“CANCEL”按钮。更改每个对话框资源的名称分别为“第一页”、“第二页”和“第三页”。
(4) 使用菜单View=>Class Wizard项,创建三个类名分别为CDlg1、CDlg2和CDlg3的CpropertyPage类的派生类。
(5) 为了能够控制向导对话框的各个页面的按钮需要使用一个全局变量
extern CPropertySheet* dg;
添加代码:
l 分别在Dlg1.h、Dlg2.h和Dlg3.h 文件中//Dlg.h : header file行后添加
#include "Resource.h"
l 在中,hfuu_mcad_ws()函数中,在#include… 行后面添加
#include "Dlg1.h"
#include "Dlg2.h"
#include "Dlg3.h"
CPropertySheet* dg;
在// TODO: Implement the command 行后面添加
dg=new CPropertySheet("向导对话框");
CDlg1 dlg1;
CDlg2 dlg2;
CDlg3 dlg3;
dg->AddPage(&dlg1);
dg->AddPage(&dlg2);
dg->AddPage(&dlg3);
dg->SetWizardMode();
dg->DoModal();
l 用类向导分别对CDlg1、CDlg2和CDlg3添加对WM_INITDIALOG消息的响应函数。
u 在Dlg1.cpp文件中的// CDlg1 property page后面添加
extern CPropertySheet* dg;
在BOOL CDlg1::OnInitDialog()函数中的return TRUE;前面添加
dg->SetWizardButtons(PSWIZB_NEXT);
u 在Dlg2.cpp文件中的// CDlg2 property page后面添加
extern CPropertySheet* dg;
在BOOL CDlg2::OnInitDialog()函数中的return TRUE;前面添加
dg->SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);
u 在Dlg3.cpp文件中的// CDlg3 property page后面添加
extern CPropertySheet* dg;
在BOOL CDlg3::OnInitDialog()函数中的return TRUE;前面添加
dg->SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);
程序运行的结果:
非常感谢,我明白啦!我也知道我该怎么做啦.
请再回答我个问题好吗?
在您的例子中我怎样使用Ms Vc++6.0中的Document/View结构呢?可以再帮我写个小例子吗?(使用ARX Application Wizard和MFC类库.)
谢谢·!
帮我一下好吗?
留名收藏
页:
[1]