如何构建BCG框架,BCG属性页,MFC框架属性页
来源:互联网 发布:openstack ubuntu镜像 编辑:程序博客网 时间:2024/06/05 15:06
1.首先新建BCGDialog项目
2.这里需要添加一个继承CBCGPPropertySheet的类,在类视图右键SJB_BCGApp,添加,类。
3.程序入口为Dialog对象,将他换成新建的类对象。
BOOL CSJB_BCGAppApp::InitInstance(){ InitCommonControls(); CBCGPWinApp::InitInstance(); AfxEnableControlContainer(); //CSJB_BCGAppDlg dlg;//原来代码 CSJBMainSheet dlg;//新添加代码 m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal();
并在SJB_BCGApp.cpp中添加头文件
#include "stdafx.h"#include "SJB_BCGApp.h"#include "SJB_BCGAppDlg.h"#include "SJBMainSheet.h"//新添加
可以删除原来继承Dialog的了文件SJB_BCGAppDlg.h
SJB_BCGAPPDlg.cpp,当然也可以留着不删除
4.添加属性页面
ID分别修改为IDD_SJBPage1,IDD_SJBPage2,然后然后分别属性页右键添加类CSJBPage1和CSJBPage2
由于CSJBPage1和CSPage2都继承于CBCGPPropertyPage这个类,所以要将SJBPage1.h,SJBPage1.cpp,SJBPage2.h,SJBPage2.cpp,中的CPropertyPage修改为CBCGPPropertyPage,并添加头文件
SJBPage1.h修改如下
#include "resource.h"//新添加// CSJBPage1 对话框class CSJBPage1 : public CBCGPPropertyPage{//CPropertyPage修改成CBCGPPropertyPage DECLARE_DYNAMIC(CSJBPage1)public: CSJBPage1(); virtual ~CSJBPage1();// 对话框数据 enum { IDD = IDD_SJBPage1 };protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP()};
SJBPage1.cpp修改如下
IMPLEMENT_DYNAMIC(CSJBPage1, CBCGPPropertyPage)//四处CPropertyPage修改成CBCGPPropertyPageCSJBPage1::CSJBPage1() : CBCGPPropertyPage(CSJBPage1::IDD){}CSJBPage1::~CSJBPage1(){}void CSJBPage1::DoDataExchange(CDataExchange* pDX){ CBCGPPropertyPage::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CSJBPage1, CBCGPPropertyPage)END_MESSAGE_MAP()
SJBPage2.h,SJBPage2.cpp修改同上
SJBMainSheet.h文件修改
#pragma once#include "bcgppropertysheet.h"#include "SJBPage1.h"//新添加#include "SJBPage2.h"//新添加class CSJBMainSheet : public CBCGPPropertySheet{public: /*CSJBMainSheet(void); ~CSJBMainSheet(void);*///将原来构造函数注释 CSJBMainSheet(CWnd* pParentWnd = NULL);//新添加 CSJBPage1 m_Page1;//新添加 CSJBPage2 m_Page2;//新添加};
SJBMainSheet.cpp文件修改
#include "StdAfx.h"#include "SJBMainSheet.h"#include "SJB_BCGApp.h"//CSJBMainSheet::CSJBMainSheet(void)//{//}//CSJBMainSheet::~CSJBMainSheet(void)//{//}CSJBMainSheet::CSJBMainSheet( CWnd* pParentWnd /*= NULL*/ ):CBCGPPropertySheet (IDS_CAPTION, pParentWnd)//new Add{// IDS_CAPTION 是窗口标题,是预先添加的资源类//型在String Table里面添加 //这是改变BCG的皮肤,两者必须要同时使用,而且需要预先添加资源图片,这里是IDB_BITMAP SetLook (CBCGPPropertySheet::PropSheetLook_OutlookBar);//新添加 SetIconsList ( IDB_BITMAP, 32);//新添加 AddPage(&m_Page1);//新添加 AddPage(&m_Page2);//新添加}
IDS_CAPTION在String Table添加
SetIconsList ( IDB_BITMAP, 32);//预先添加的资源图片,将资源图片如下添加
右键IDB_BITMAP添加资源,然后保存
5.程序执行
SetIconsList ( IDB_ICONS32, 32);注释此行代码运行如下
MFC框架属性页的建立同BCG一样,只是类的修改
学习于谯博士,感谢谯博士的大力支持
- 如何构建BCG框架,BCG属性页,MFC框架属性页
- [BCG]如何建立一个BCG属性页对话框
- BCG属性列表
- BCG集中框架图
- [BCG]使属性页表单实现最大化最小化按钮1
- 如何响应BCG的属性列表(CBCGPPropList)改变的事件?
- bcg
- bcg
- BCG
- BCG
- [BCG]属性页对话框删除"上一步"..."帮助"等4个按钮
- mfc bcg库 静态库link 不过
- BCG属性表单风格修改与删除“上一步”“下一步”“帮助”“确定”四个按钮
- bcg知识
- bcg知识
- BCG使用
- BCG教程
- 初识BCG
- spring+springMVC+mybatis +dubbo架构的工程创建(一)
- Swift-iOS常用控件(UIAlertView警告视图)
- 第四周 项目4—— 猴子选大王
- hdu2032 杨辉三角
- 早研
- 如何构建BCG框架,BCG属性页,MFC框架属性页
- 第4周项目3-单链表的应用(1)
- ie浏览器兼容性问题
- DAO层使用泛型的两种方式
- Swift-iOS常用控件(UIActionSheet 动作列表)
- 可以通过哪些方法将excel转换成word
- 第四周 项目4-圆柱表面积
- First Unique Character in a String(字符串中的第一个唯一字符)
- android 学习随笔六(网络要求及配置)