[转载]Codejock Xtreme ToolkitPro MFC 使用

下载地址:
Codejock Xtreme ToolkitPro MFC 15.1.3.0908    http://download.csdn.net/source/3773927

1,确定你已经装好了XTP。

2,修改目录:工具/选项/目录  
    include files  :  D:\Microsoft Visual Studio\Xtreme ToolkitPro v11.2.2\Source
    librarys files :  D:\Microsoft Visual Studio\Xtreme ToolkitPro v11.2.2\Lib\vc60
3,工程/设置/C++  在工程选项里面添加:/Zm200 注意大小写。

4,在stdAfx.h里面添加:#include <XTToolkitPro.h> 

5,在Dialog.h文件中,Dialog定义的地方改为:
#define CDialogSampleDlgBase CXTPDialogBase<CXTResizeDialog>
class CCardManageDlg : public CDialogSampleDlgBase{
public:
。。。
}

6,在Dialog构造函数实现的地方改为:
CCardManageDlg::CCardManageDlg(CWnd* pParent /*=NULL*/)
: CDialogSampleDlgBase(CCardManageDlg::IDD, pParent)
{。。。
}

7,dialog构造函数实现内,预先配置:
XTPSkinManager()->SetApplyOptions(XTPSkinManager()->GetApplyOptions() | xtpSkinApplyMetrics);//这句必须有,
XTPSkinManager()->LoadSkin(_T("Office2007.cjstyles"));//这句是设置一种风格,Office2007.cjstyles是风格文件名,要拷贝过来。

8,增加变量:
BOOL m_bInRepositionControls, m_bInitDone;
CRect m_rcBorders;
用于第9,10步中,重新设置组件位置和大小。

9,在initdialog里面添加:

VERIFY(InitCommandBars());//XTP带,预处理,不可少。

CXTPCommandBars* pCommandBars = GetCommandBars();//CXTPCommandBars管理TOOLBAR,Menu和status.
/***开始添加菜单***/
pCommandBars->SetMenu(_T("Menu Bar"), IDR_MENU1); 
CXTPToolBar* pToolBar = pCommandBars->Add(_T("Standard"), xtpBarTop); 
pToolBar->LoadToolBar(IDR_MAINFRAME);

XTPImageManager()->SetIcons(IDR_MAINFRAME);//图标

pCommandBars->GetCommandBarsOptions()->ShowKeyboardCues(xtpKeyboardCuesShowWindowsDefault);//额外的。
pCommandBars->GetToolTipContext()->SetStyle(xtpToolTipOffice);//额外的。
// pCommandBars->GetShortcutManager()->SetAccelerators(IDR_ACCELERATOR);//快捷键

LoadCommandBars(_T("CommandBars"));//XTP必须

/****下面是为解决MENU和TOOLBAR引起的错位,通过迭代对所有子组件重拍******/
CWnd* pwndChild = GetWindow(GW_CHILD);
while (pwndChild)
{      
  SetResize(pwndChild->GetDlgCtrlID(), SZ_TOP_LEFT, CXTResizePoint( 0, 0) );
//0,0表示水平和竖直方向都不缩放。
  pwndChild = pwndChild->GetNextWindow();

m_bInitDone = TRUE;
RepositionControls();//重设组件位置和大小,实现见10.

m_szMin = m_szWindow;
AutoLoadPlacement(_T("Placement"));

10,实现RepositionControls();//重设组件位置和大小,无需看,直接复制。
void CCardManageDlg::RepositionControls()
{
if (m_bInRepositionControls || !m_bInitDone)
  return;

CRect rcClientStart;
CRect rcClientNow;
GetClientRect(rcClientStart);

if ((GetStyle() & WS_MINIMIZE) || (rcClientStart.IsRectEmpty()))
  return;

m_bInRepositionControls = TRUE;
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0, reposQuery, rcClientNow);
CRect rcBorders(rcClientNow.left - rcClientStart.left, rcClientNow.top - rcClientStart.top,  rcClientStart.right - rcClientNow.right, rcClientStart.bottom - rcClientNow.bottom);

if (rcBorders != m_rcBorders)
{
  CPoint ptOffset(rcBorders.left - m_rcBorders.left, rcBorders.top - m_rcBorders.top);
  CSize szOffset(rcBorders.left + rcBorders.right - m_rcBorders.left - m_rcBorders.right,
  rcBorders.top + rcBorders.bottom - m_rcBorders.top - m_rcBorders.bottom);
  
  CRect rcWindow;
  GetWindowRect(rcWindow);
  rcWindow.BottomRight() += szOffset;
  
  Offset(ptOffset);
  m_szWindow += szOffset;
  m_szMin += szOffset;
  
  MoveWindow(rcWindow, TRUE);
}

m_rcBorders = rcBorders;
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
m_bInRepositionControls = FALSE;
}

11,添加状态栏的方法:
状态栏变量:CXTPStatusBar m_wndStatusBar;
在ONinitdialog里面加:
if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))
{
  TRACE0("Failed to create status bar\n");
  return -1;      // fail to create
}

m_wndStatusBar.SetPaneInfo(0, ID_SEPARATOR, SBPS_STRETCH, 100);
在合适的地方调用m_wndStatusBar.SetWindowText(lpsz);即可设置显示文本

/***下面这句有时间看看**/
LRESULT CDialogSampleDlg::OnKickIdle(WPARAM, LPARAM)
{
if (GetCommandBars())
GetCommandBars()->UpdateCommandBars();
if (m_wndStatusBar.GetSafeHwnd())
m_wndStatusBar.SendMessage(WM_IDLEUPDATECMDUI, TRUE);
return 0;
}

最小使用方法:
1. 在stdafx.h文件中加入:
    #include <XTToolkitPro.h>

2. 在对话框构造函数中加入:
    XTPSkinManager()->LoadSkin(_T("Office2007.cjstyles"));

3. 动态创建的控件或者是没有自动使用皮肤的控件使用下面语句强制使用皮肤
    XTPSkinManager()->ApplyWindow(myCtrl->m_hWnd);
☆ 资料说明:☆ 专业级MFC界面控件套装,包含命令工具栏、浮动面板和属性网格,支持最近的Visual Studio 2010和Windows7风格; 压缩包内包括安装程序和注册机; ☆ 软件简介:☆ Codejock Software 创建于 1998 年,专业开发 MS Visual Studio 开发环境下的组件,便于 VC 开发人员轻松开发出各种界面,如类似 VC++6.0 的开发界面、 Outlook 界面等,并支持 XP 风格。由于功能的完善, Extreme Toolkit 被许多大公司采用。 2003 年 Codejock 公司加快开发,开发出一系列界面组件,包括 Extreme Toolkit 4.1 , Extreme Toolkit Pro , Extreme Suite 等组件包,支持开发环境也从 VC++5/ 6 升 级到 VC++.NET 和 VB ,而且支持 Windows XP 、 OfficeXP/2003 、 Outlook2003 、 Visual Studio 2005 等风格主题。目前是 VC/VB 和 .NET 开发环境下最好的界面开发组件之一。 Codejock 软件公司的 Xtreme Toolkit Pro 提供了 Xtreme Toolkit 标准版的所有特性,以及 Xtreme Suite 中的所有高级特性,包括 Xtreme 控制栏(Xtreme Command Bars)—— 把需要创建的具有改进对接算法的所有组件提供给 Windows 的图形用户界面(GUI)工程师,这些组件用来创建具有 Microsoft Office XP 风格的工具栏和菜单、 Xtreme 浮动面板(Xtreme Docking Pane)—— 把所有组件提供给 Windows 的图形用户界面(GUI)工程师,这些组件用来创建具有改进 Visual Studio.NET 风格的浮动面板、 Xtreme 属性网格(Xtreme Property Grid)—— 把完善的 Visual Studio.NET 风格的属性网格提供给 Windows 的图形用户界面(GUI)工程师。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值