bcgcontrolbar pro for mfc怎么使用
XTToolkitPro使用1开发环境2添加SDI程序的CommandBar和MenuBar支持2定制toolbars和menus的支持3添加自定义的主题支持5添加DockingPanes支持6发现定义在XTPDeprecated.h中的符号,为废弃符号,修改为新符号即可9添加智能菜单支持9添加自定义特性的派生控件9VisualStudio2008+XTToolkitProv11.21、创建MFC的SDI应用程序2、在stdafx.h添加#include//XtremeToolkitProcomponentlibrary3、修改mainfrm.h的CMainFrame基类,MDI对应为CXTPMDIFrameWndclassCMainFrame:publicCXTPFrameWnd4、修改CMainFrame::OnCreate函数//Initializethecommandbarsif(!InitCommandBars())return-1;//Getapointertothecommandbarsobject.CXTPCommandBars*pCommandBars=GetCommandBars();if(pCommandBars==NULL){TRACE0("Failedtocreatecommandbarsobject.\n");return-1;//failtocreate}//AddthemenubarCXTPCommandBar*pMenuBar=pCommandBars->SetMenu(_T("MenuBar"),IDR_MAINFRAME);if(pMenuBar==NULL){TRACE0("Failedtocreatemenubar.\n");return-1;//failtocreate}//CreateToolBarCXTPToolBar*pToolBar=(CXTPToolBar*)pCommandBars->Add(_T("Standard"),xtpBarTop);if(!pToolBar||!pToolBar->LoadToolBar(IDR_MAINFRAME)){TRACE0("Failedtocreatetoolbar\n");return-1;}//SetOffice2003ThemeCXTPPaintManager::SetTheme(xtpThemeOffice2003);注释掉以下几行//if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP//|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||//!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))//{//TRACE0("未能创建工具栏\n");//return-1;//未能创建//}/*m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);*/5、如果需要重载CMainFrame::PreTranslateMessage和CMainFrame::OnCmdMsg,修改如下BOOLCMainFrame::PreTranslateMessage(MSG*pMsg){//TODO:Addyourspecializedcodehereand/orcallthebaseclassreturnCXTPMDIFrameWnd::PreTranslateMessage(pMsg);}BOOLCMainFrame::OnCmdMsg(UINTnID,intnCode,void*pExtra,AFX_CMDHANDLERINFO*pHandlerInfo){//TODO:Addyourspecializedcodehereand/orcallthebaseclassreturnCXTPMDIFrameWnd::OnCmdMsg(nID,nCode,pExtra,pHandlerInfo);}6、编译运行,出现Offiice2003主题风格的应用程序1、在CMainFrm类增加响应ON_COMMAND的消息XTP_ID_CUSTOMIZE支持在mainfrm.cpp中修改BEGIN_MESSAGE_MAP(CMainFrame,CMDIFrameWnd)//{{AFX_MSG_MAP(CMainFrame)ON_WM_CREATE()//}}AFX_MSG_MAPON_COMMAND(XTP_ID_CUSTOMIZE,OnCustomize)END_MESSAGE_MAP()在mainfrm.h中修改//{{AFX_MSG(CMainFrame)afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);//}}AFX_MSGafx_msgvoidOnCustomize();DECLARE_MESSAGE_MAP()2、在mainfrm.cpp中增加voidCMainFrame::OnCustomize(){//Getapointertothecommandbarsobject.CXTPCommandBars*pCommandBars=GetCommandBars();if(pCommandBars!=NULL){//Instanciatethecustomizedialogobject.CXTPCustomizeSheetdlg(pCommandBars);//Addtheoptionspagetothecustomizedialog.CXTPCustomizeOptionsPagepageOptions(&dlg);dlg.AddPage(&pageOptions);//Addthecommandspagetothecustomizedialog.CXTPCustomizeCommandsPage*pCommands=dlg.GetCommandsPage();pCommands->AddCategories(IDR_MDISAMTYPE);//Usethecommandbarmanagertoinitializethe//customizedialog.pCommands->InsertAllCommandsCategory();pCommands->InsertBuiltInMenus(IDR_MDISAMTYPE);pCommands->InsertNewMenuCategory();//Dispalythedialog.dlg.DoModal();}}3、添加CMainFrm类的对commandbar和menubar的定制配置序列化支持intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){//Loadthepreviousstatefortoolbarsandmenus.LoadCommandBars(_T("CommandBars"));return0;}voidCMainFrame::OnClose(){//Savethecurrentstatefortoolbarsandmenus.SaveCommandBars(_T("CommandBars"));CMDIFrameWnd::OnClose();}4、资源包含,查看rc2资源文件代码,添加xttoolkitpro.rc,在资源附加目录中添加xttoolkitpro.rc所在目录5、编译运行,发现定制化工具栏和菜单的资源没有加载进来,如图标、字符串等,解决方法是修改字符资源语言为英文(这里编译的是英文资源的lib库,根据自己需要也可以编译中文资源的lib库)
bcg界面库是什么
BCG是大名鼎鼎的MFC界面库,其示例没有提供DLL的调用方式,网上也找不到ARX调用BCG的例子。折腾数日,终于找到方法,简述如下:
1、BCG安装成功后,检查VC目录包含文件、库文件是否正确添加了BCG的路径,直接打开一个BCG提供的例子运行即可验证。
2、在stdafx.h文件中添加:#include
3、项目属性【链接器】-【常规】-【附加库目录】添加:BCG的BIN路径。
4、新建一个对话框资源,放置列表控件等,自动产生类和控件成员。
5、对照DEMO,搞清BCG控件创建、显示和消息机制,粘贴所需代码。这是最折腾人的,建议先在普通MFC程序中测试成功后,在粘贴到ARX程序中。
6、在AutoCAD的【支持文件搜索路径】中添加运行的ARX文件所在目录,并拷贝相应的BCG***.DLL,否则ARX程序找不到BCG的动态库。
7、以上步骤完成,ARX编译通过后即可调试。
推荐阅读
- ○ CFO总变成CEO这背后是隐藏着什么秘密呢?
- ○ qq估价器在线查询
- ○ 淘宝店铺装修代码大全
- ○ 街拍齐b小短裙
- ○ 苹果12Pro参数
- ○ 淘宝返利网怎么用
- ○ acfun下载
- ○ 斗战神嗜血牛加点
- ○ baidu翻译
- ○ dnf悲叹之塔耳环
最新文章
- ○ CFO总变成CEO这背后是隐藏着什么秘密呢?
- ○ qq估价器在线查询
- ○ 淘宝店铺装修代码大全
- ○ 街拍齐b小短裙
- ○ 苹果12Pro参数
- ○ 淘宝返利网怎么用
- ○ acfun下载
- ○ 斗战神嗜血牛加点
- ○ baidu翻译
- ○ dnf悲叹之塔耳环