收藏 分销(赏)

界面设计为属性选项框.doc

上传人:仙人****88 文档编号:11890557 上传时间:2025-08-18 格式:DOC 页数:6 大小:152KB 下载积分:10 金币
下载 相关 举报
界面设计为属性选项框.doc_第1页
第1页 / 共6页
界面设计为属性选项框.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
怎样用MFC基于对话框的属性表单,属性页作为软件界面,一个属性表单包含多个属性页相当于MFC中的选型卡功能 2014-03-26 21:07wohaoren88 | 分类:VC++ | 浏览356次 类似于这样的界面,不用TAB控件,而是由一个属性表单包含多个属性页完成,新手 给个例子啊 分享到: 2014-03-26 21:19提问者采纳 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 对话框做主框架。 1,创建Dialog Based Appcation Exe with MFC wizard 2,添加资源Large Property Page 一个,后按住CTRL点击它并拖动,重复三次这样就得到了三个Large Property Page     保持默认的ID。 3,用Wizard 以PAGE3作为模板,生成我们的嵌套的CMyPage,它派生自CPropertyPage。 4,CPropertyPage 类添加4个成员变量:     CPropertyPage m_page1;     CPropertyPage m_page2;     CPropertyPage m_page3;    CPropertySheet m_sheet; 5,CPropertyPage 类添加消息响应:WM_CREATE WM_SIZE,并添加如下code:     int CMyPage::OnCreate(LPCREATESTRUCT lpCreateStruct)  {     if (CPropertyPage::OnCreate(lpCreateStruct) == -1)         return -1;           // TODO: Add your specialized creation code here     m_page1.Construct(IDD_PROPPAGE_LARGE);     m_page2.Construct(IDD_PROPPAGE_LARGE1);     m_page3.Construct(IDD_PROPPAGE_LARGE2);     m_sheet.Construct("SomeInfo",this);     m_sheet.AddPage(&m_page1);     m_sheet.AddPage(&m_page2);     m_sheet.AddPage(&m_page3);           m_sheet.Create(this,WS_CHILD | WS_VISIBLE);     return 0; }   void CMyPage::OnSize(UINT nType, int cx, int cy)  {     CPropertyPage::OnSize(nType, cx, cy);           // TODO: Add your message handler code here     // TODO: Add your message handler code here     CRect rc;     GetWindowRect(rc);     ScreenToClient(rc);     rc.InflateRect(0,5,0,0);     m_sheet.SetWindowPos(&wndTop,rc.left,rc.top,rc.right,rc.bottom,NULL);     // TODO: Add your message handler code here       } 5,处理对话框类: 1》添加菜单资源,IDM_MENU1 ,右键设置属性,Minimize Maximize 打上勾,菜单设为以上菜单。 2》添加成员:     CPropertyPage m_page1;     CPropertyPage m_page2;     CPropertyPage m_page3;     CMyPage m_MyPage;     CPropertySheet m_sheet; 别忘了#include“MyPage.h"...哈哈。。。。、 3》添加消息响应:WM_CREATE WM_SIZE,并添加如下code:   int CDialog_PropertyDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)  {     if (CDialog::OnCreate(lpCreateStruct) == -1)         return -1;           // TODO: Add your specialized creation code here     m_page1.Construct(IDD_PROPPAGE_LARGE);     m_page2.Construct(IDD_PROPPAGE_LARGE1);     m_page3.Construct(IDD_PROPPAGE_LARGE2);     m_MyPage.Construct(IDD_PROPPAGE_LARGE3);     m_sheet.Construct("SomeInfo",this);     m_sheet.AddPage(&m_page1);     m_sheet.AddPage(&m_page2);     m_sheet.AddPage(&m_page3);     m_sheet.AddPage(&m_MyPage);     m_sheet.Create(this,WS_CHILD | WS_VISIBLE);           return 0; }   void CDialog_PropertyDlg::OnSize(UINT nType, int cx, int cy)  {     CDialog::OnSize(nType, cx, cy);           // TODO: Add your message handler code here           CRect rc;     GetClientRect(rc); /*    GetWindowRect(rc);     ScreenToClient(rc);*/     rc.InflateRect(0,5,0,0);         //    m_edit.SetWindowPos(&wndTop,rc.left,rc.top,rc.right,rc.bottom,NULL);     m_sheet.SetWindowPos(&wndTop,rc.left,rc.top,rc.right,rc.bottom,NULL); } 好了截止现在,一个嵌套的属性表框架做好了,效果如下: 记得把属性页和对话框拉大一点噢!!! 美化的话我就不再废话了。。。至于那个ListCtrl,看一下MSDN应该都会的。。。。。 哈,完了。。。。。。。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服