效果图:
1.首先在资源视图中插入3个对话框,并在各个对话框上面添加相应的控件
接着给这3个对话框资源添加类,父类选择CPropertyPage(即属性页类)
接着给这3个属性页对话框上的控件绑定变量
接着在菜单项中添加一个项,用来弹出属性对话框(这里我创建的模态的)
1 void CSDIView::OnProp() 2 { 3 CPropertySheet propSheet; //属性页架 4 CPage1 page1; //属性页面 5 CPage2 page2; 6 CPage3 page3; 7 8 propSheet.AddPage(&page1); //将属性页加入到页架中 9 propSheet.AddPage(&page2); 10 propSheet.AddPage(&page3); 11 12 //弹出模态对话框 13 if (propSheet.DoModal() == IDOK) 14 { 15 m_strAge = page1.m_strAge; 16 m_strName = page1.m_strName; 17 if (page1.m_nSex == 0) 18 { 19 m_strSex = _T("男"); 20 } 21 else 22 { 23 m_strSex = _T("女"); 24 } 25 26 if (m_strName.IsEmpty()) 27 { 28 AfxMessageBox(_T("您没有输入姓名,不能显示")); 29 return; 30 } 31 32 if (m_strAge.IsEmpty()) 33 { 34 AfxMessageBox(_T("您没有输入年龄,不能显示")); 35 return; 36 } 37 38 CClientDC dc(this); 39 CString strInput; 40 strInput = _T("姓名:"); 41 strInput += m_strName; 42 strInput += _T(", 性别:"); 43 strInput += m_strSex; 44 strInput += _T(", 年龄:"); 45 strInput += m_strAge; 46 dc.TextOut(0,0,strInput); 47 48 strInput = "爱好: "; 49 if (page2.m_bTennis) 50 { 51 strInput += _T(" 乒乓球"); 52 } 53 54 if (page2.m_bBskBall) 55 { 56 strInput += _T(" 篮球"); 57 } 58 59 if (page2.m_bSwim) 60 { 61 strInput += _T(" 游泳"); 62 } 63 64 if (page2.m_bBltennis) 65 { 66 strInput += _T(" 网球"); 67 } 68 69 TEXTMETRIC tm; 70 dc.GetTextMetrics(&tm); 71 dc.TextOut(0,tm.tmHeight,strInput); 72 73 strInput = _T("职务:"); 74 if (page3.m_nJob == 0) 75 { 76 strInput += _T("程序员"); 77 } 78 if (page3.m_nJob == 1) 79 { 80 strInput += _T("软件工程师"); 81 } 82 if (page3.m_nJob == 2) 83 { 84 strInput += _T("系统工程师"); 85 } 86 87 m_strCity = page3.m_strCity; 88 strInput += _T("工作地点:"); 89 strInput += m_strCity; 90 dc.TextOut(0,2*tm.tmHeight,strInput); 91 } 92 }
这里是获取用户输入的个人信息并打印在视图中