2024年5月7日发(作者:)

XTToolkitPro使用初探

一. 创建MFC的SDI或MDI应用程序

在stdafx.h添加 #include // Xtreme Toolkit Pro component library修改的

CMainFrame基类,对应为CXTPMDIFrameWnd

class CMainFrame : public CXTPFrameWnd

修改CMainFrame::OnCreate函数 注释掉原有的,添加下列代码

if (!InitCommandBars())

return -1;

CXTPCommandBars* pCommandBars = GetCommandBars();

if(pCommandBars == NULL)

{

TRACE0("Failed to create command bars object.n");

return -1; // fail to create

}

CXTPCommandBar* pMenuBar = pCommandBars->SetMenu( _T("Menu Bar"), IDR_MAINFRAME);

if(pMenuBar == NULL)

{

TRACE0("Failed to create menu bar.n");

return -1; // fail to create

} CXTPToolBar* pToolBar = (CXTPToolBar*)pCommandBars->Add(_T("Standard"), xtpBarTop);

if (!pToolBar || !pToolBar->LoadToolBar(IDR_MAINFRAME))

{

TRACE0("Failed to create toolbarn");

return -1;

}

CXTPPaintManager::SetTheme(xtpThemeOffice2003);编译运行,出现Offiice 2003主题风格的

应用程序 资源包含,查看rc2资源文件代码,添加,在资源附加目录中添加

所在目录使用的时候,只需要在StdAfx.h中加入下面的语句即可

#include

如果你选择static link,那么可以使用宏把不需要的部分排除掉,这样能减少最终生成的EXE的大小

//#define _XTP_EXCLUDE_COMMON

#define _XTP_EXCLUDE_TABMANAGER

#define _XTP_EXCLUDE_GRAPHICLIBRARY

//#define _XTP_EXCLUDE_CONTROLS

//#define _XTP_EXCLUDE_COMMANDBARS

//#define _XTP_EXCLUDE_DOCKINGPANE

//#define _XTP_EXCLUDE_PROPERTYGRID

#define _XTP_EXCLUDE_REPORTCONTROL

#define _XTP_EXCLUDE_CALENDAR

#define _XTP_EXCLUDE_TASKPANEL

#define _XTP_EXCLUDE_SHORTCUTBAR

#define _XTP_EXCLUDE_SKINFRAMEWORK

#define _XTP_EXCLUDE_RIBBON

#define _XTP_EXCLUDE_SYNTAXEDIT

另外值得注意的一点是,如果你选择static link,那么需要将XTP的资源导入你的工程之中。比如

要使用中文资源,那么把下面的代码加入工程的rc2文件的最后

#define _XTP_RESOURCE_LANGUAGE zh_CN

#include <>

同时,你还需要修改一下XTP附带的中的内容

将最后的LANGUAGE_DEFAULT(TaskPanel)改成LANGUAGE_LOCALIZED(TaskPanel)

然后在TaskPanelres目录下将复制成Resource_zh_,并将其中的编码改成中文

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)

#ifdef _WIN32

LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED

#pragma code_page(936)

#endif //_WIN32

#endif

否则你之后include的资源会变成默认的英文