如何将现有MFC应用程序迁移到BCGControlBar VC界面库中

如何将现有MFC应用程序迁移到BCGControlBar VC界面库中,第1张

1、添加 #include "BCGCBProInc.h"到你的stdafx.h文件中。项目将自动关联合适的BCGControlBar库。

2、从CBCGPWinApp中派生应用程序类:

class CMyApp : public CBCGPWinApp

3、确保在应用程序InitInstance()中调用AfxOleInit()。

4、添加调用 InitInstance(): SetRegistryKey(_T("MyCompany\\MyProduct"))

5、在应用程序的ExitInstance()方法中调用BCGCBProCleanUp()。

6、修改CMainFrame基础类:

SDI应用程序:将CFrameWnd替换为CBCGPFrameWnd

MDI应用程序:将CMDIFrameWnd替换为CBCGPMDIFrameWnd,CMDIChildWnd替换为CBCGPMDIChildWnd

将COleIPFrameWnd替换为CBCGPOleIPFrameWnd

(重要提示:以上修改,请把任何地方的都修改完,而不是只在类的声明中修改!)

7、修改CToolBar为CBCGPToolBar。请注意,如果调用CToolBar SetSizes方法对几个工具栏设置不同的值,修改将无效!CBCGPToolBar:: SetSizes是一个静态方法,因为所有工具栏的按钮必须具有相同的大小。

8、如果你想添加一个菜单栏(带菜单的类似MS Office可停靠控制栏),只需添加以下成员到CMainFrame类中:CBCGPMenuBar m_wndMenuBar,并初始化它,以同样的方式作为工具栏成员。

9、在CMainFrame::OnCreate()的开头设置应用程序视觉风格:

CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(manager))

其中manager可以是下面的任意一个:

CBCGPVisualManager - MS Office 2000 look

CBCGPVisualManagerXP - MS Office XP look

CBCGPVisualManager2003 - MS Office 2003 look

CBCGPVisualManager2007 - MS Office 2007 look

CBCGPVisualManagerVS2005 - Visual Studio 2005 look

CBCGPVisualManagerVS2008 - Visual Studio 2008 look

CBCGPVisualManager2010 - MS Office 2010 look

CBCGPVisualManagerVS2010 - Visual Studio 2010 look

CBCGPVisualManagerVS2012 - Visual Studio 2012 look

CBCGPVisualManager2013 - MS Office 2013 look

CBCGPWinXPVisualManager - Windows native look.

一、stdafx头文件

#define COMPILE_MULTIMON_STUBS

#include <BCGCBProInc.h>

二、stdafx.cpp

#include <multimon.h>

三、资源包括

1. 只读符号指令添加

#include "bcgprores.h"

2. 编译时指令

去掉:

#define _AFX_NO_SPLITTER_RESOURCES

BCG是大名鼎鼎的MFC界面库,其示例没有提供DLL的调用方式,网上也找不到ARX调用BCG的例子。折腾数日,终于找到方法,简述如下:

1、BCG安装成功后,检查VC目录包含文件、库文件是否正确添加了BCG的路径,直接打开一个BCG提供的例子运行即可验证。

2、在stdafx.h文件中添加:#include<BCGCBProInc.h>

3、项目属性【链接器】-【常规】-【附加库目录】添加:BCG的BIN路径。

4、新建一个对话框资源,放置列表控件等,自动产生类和控件成员。

5、对照DEMO,搞清BCG控件创建、显示和消息机制,粘贴所需代码。这是最折腾人的,建议先在普通MFC程序中测试成功后,在粘贴到ARX程序中。

6、在AutoCAD的【支持文件搜索路径】中添加运行的ARX文件所在目录,并拷贝相应的BCG***.DLL,否则ARX程序找不到BCG的动态库。

7、以上步骤完成,ARX编译通过后即可调试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11941970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存