应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx

上传人:b****5 文档编号:17907150 上传时间:2022-12-12 格式:DOCX 页数:7 大小:17.03KB
下载 相关 举报
应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx_第1页
第1页 / 共7页
应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx_第2页
第2页 / 共7页
应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx_第3页
第3页 / 共7页
应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx_第4页
第4页 / 共7页
应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx

《应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。

应用程序迁移至Xtreme Toolkit proWord格式文档下载.docx

dockwindow的创建

添加对toolbar和menu的定制

添加智能菜单

为应用程序添加一个theme准备你的应用程序首先你要做的是改变你的StdAfx.h文件中的include文件。

这个文件常用来引进

所有的toolkit的类定义并把你的程序连接到toolkit。

你需要打开你的StdAfx.h文件,

把#include&

lt;

XTToolKit.h&

gt;

改为#include&

XTPToolkit.h&

,例如:

#include&

XTToolkitPro.h&

//XtremeToolkitProcomponents重新命名你的基类

下来你需要改变一些基类。

你得把所有出现的CXT&

#8230;

改为C&

,比如在一个MDI程序中,

CXTMDIChildWnd要变成CMDIChildWnd,CXTMDIFrameWnd要变成CMDIFrameWnd。

对一个SDI程序,CXTFrameWnd要变成CFrameWnd。

下面是一个所有需要改变为起初的

MFC命名惯例的类的列表。

这是你的程序返

回到迁移时的一个好的起点。

ToolkitClassNameMFCClassName(renameto)

CXTFrameWndCFrameWnd

CXTMDIChildWndCMDIChildWnd

CXTMDIFrameWndCMDIFrameWnd

CXTOleIPFrameWndCOleIPFrameWnd

CXTControlBarCControlBar

CXTDialogBarCDialogBar

CXTReBarCReBar

CXTReBarCtrlCReBarCtrl其他缺失的类以下的类在XtremeToolkit的专业版中不再出现。

在新的体系中,他们或是被代替或

是被废弃。

这些类中的大多数你不能再直接使用;

但在这里把它们列出来作为你的参

考:

ToolkitClassName

CXTAccelSwapOutItemListCXTCustOptionsCXTPopupTearOffWnd

CXTAccelManagerCXTCustomizeSheetCXTPopupColorTearOff

CXTCBarDialogCXTDockBarCXTPopupToolbarTearOff

CXTCommandsListBoxCXTDockColorSelectorCXTPreviewView

CXTItemDataCXTDockContextCXTSplitterDock

CXTCoolMenuCXTDockWindowCXTSplitterRowDock

CXTMenuCXTFrameImplCXTToolBar

CXTCustomToolBarCXTStringCXTToolBarCtrl

CXTCustToolBarPageCXTMenuBarItemCXTPopupWndToolbar

CXTCustCommandsPageCXTMenuBarCXTToolBarPopupWndHook

CXTCustAcceleratorsCXTMiniDockFrameWndCXTToolBarPopupWnd

CXTCustToolsCXTNewToolbarDlgCXTToolsManager开始改变你的主框架的继承关系

现在你的程序已经不再涉及标准版本的东西了,我们可以开始迁移了。

现在你已经

更新了你的StdAfx.h文件,在你的MainFrm.h文件中改变你的基类为CXTPMDIFrameWnd

(对MDI程序)和CXTPFrameWnd(对SDI程序):

classCMainFrame:

publicCXTPMDIFrameWnd

{

...

};

如果你重载了PreTranslateMessage请确保你调用了CXTPMDIFrameWnd基类,例如:

BOOLCMainFrame:

:

PreTranslateMessage(MSG*pMsg)

//TODO:

Addyourspecializedcodehereand/orcallthebaseclassreturnCXTPMDIFrameWnd:

PreTranslateMessage(pMsg);

}

另外,如果你重载了OnCmdMsg请确保你调用了CXTPMDIFrameWnd基类,例如:

OnCmdMsg(UINTnID,intnCode,

void*pExtra,AFX_CMDHANDLERINFO*pHandlerInfo)

OnCmdMsg(nID,nCode,pExtra,pHandlerInfo);

}Commandbar的初始化Commandbar在使用之前必须进行初始化,而且它们必须在所有的controlbar对象(

比如你的statusbar)创建之后再被创建。

这是你为commandbar设置theme的好地方。

在标准版中你需要调用xtAfxData.bXPMode=true;

设置theme为OfficeXP。

在专业版中

对每个组件你有theme

managers。

这允许你定义你自己的theme或者选用toolkit中已定义的theme。

这是一个如何初始化controlbar的例子:

intCMainFrame:

OnCreate(LPCREATESTRUCTlpCreateStruct)

if(CMDIFrameWnd:

OnCreate(lpCreateStruct)==-1)

return-1;

//CreateStatusbar.

//Important:

AllcontrolbarsincludingtheStatusBar

//mustbecreatedbeforeCommandBars....

if(!

m_wndStatusBar.Create(this)||

!

m_wndStatusBar.SetIndicators(indicators,

sizeof(indicators)/sizeof(UINT)))

TRACE0("

Failedtocreatestatusbar\n"

);

//failtocreate

}//Initializethecommandbars

InitCommandBars())

//Getapointertothecommandbarsobject.

CXTPCommandBars*pCommandBars=GetCommandBars();

if(pCommandBars==NULL)

Failedtocreatecommandbarsobject.\n"

}//SetOffice2003Theme

CXTPPaintManager:

SetTheme(xtpThemeOfficeXP);

return0;

使用coolmenu请注意:

在应用程序中不再有必要调用InstallCoolMenus初始化菜单的theme。

这由commandbar的thememanager来处理。

menubar的创建你需要更改你的代码使用pro版本的menubar。

使用了标准版toolkit的程序参

考CMainFrame:

OnCreate的CXTMenuBar对象。

在这里m_wndMenuBar对象被创建,

允许停靠被调用使menubar可以停靠在程序的工作区。

在专业版中做法有些不同,

没必要调用允许停靠了,例如:

}//Addthemenubar

CXTPCommandBar*pMenuBar=pCommandBars-&

SetMenu(

_T("

MenuBar"

),IDR_MDISAMTYPE);

if(pMenuBar==NULL)

Failedtocreatemenubar.\n"

}//Removetheoldmenubarcode...

//if(!

m_wndMenuBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP

//|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||

//!

m_wndMenuBar.LoadMenuBar(IDR_MAINFRAME))

//{

//TRACE0("

Failedtocreatemenubar\n"

//return-1;

//}//m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);

//EnableDocking(CBRS_ALIGN_ANY);

//DockControlBar(&

amp;

m_wndMenuBar);

}toolbar的创建你需要更改你的代码去使用pro版本的toolbar。

相对于menubar,toolbar对象通常

在CMainFrame:

OnCreate中创建,而且调用允许停靠使toolbar停靠到程序的工作区。

Toolbar采用和menubar使用toolbar资源相似的创建方式,例如:

}//CreateToolBar

CXTPToolBar*pToolBar=(CXTPToolBar*)

pCommandBars-&

Add(_T("

Standard"

),xtpBarTop);

pToolBar||!

pToolBar-&

LoadToolBar(IDR_MAINFRAME))

Failedtocreatetoolbar\n"

}//Removetheoldtoolbarcode...

m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP

m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

//}

//m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

m_wndToolBar);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1