codejock(codejock chart类)
在MDIForm窗体上使用了Codejock的commandbar控件后,如何才能让该窗体显示出MDIForm.pictrue属性所加的图片
在form上加一个picture就可以了在MDI窗体上加背景图片是不可以的.不过有一个办法可以解决,那就是你在父窗体中加一个图片控件,把图片放到这个控件中,并让该控件填充该窗体.就行了
如何学习codejock toolkitpro
1,确定你已经装好了XTP。
2,修改目录:工具/选项/目录
include files : D:Microsoft Visual StudioXtreme ToolkitPro v11.2.2Source
librarys files : D:Microsoft Visual StudioXtreme ToolkitPro v11.2.2Libvc60
3,工程/设置/C++ 在工程选项里面添加:/Zm200 注意大小写。
4,在stdAfx.h里面添加:#include
5,在Dialog.h文件中,Dialog定义的地方改为:
#define CDialogSampleDlgBase CXTPDialogBase
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 barn");
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
2. 在对话框构造函数中加入:
XTPSkinManager()->LoadSkin(_T("Office2007.cjstyles"));
3. 动态创建的控件或者是没有自动使用皮肤的控件使用下面语句强制使用皮肤
XTPSkinManager()->ApplyWindow(myCtrl->m_hWnd);
codejock(codejock chart类)相关推荐
- python xlsxwriter 画图_Python XlsxWriter模块Chart类用法实例分析
本文实例讲述了Python XlsxWriter模块Chart类用法.共享给大家供大家参考,详细如下: 一 点睛 Chart类是XlsxWriter模块中图表组件的基类,支持的图表类型包括面积.条形图 ...
- pyecharts源码解读(12)图表类包charts之chart模块:常用图表基类Chart、直角坐标系图表基类RectChart、3D图表基类Chart3D
当前pyecharts的版本为1.9.0. pyecharts/charts/chart.py模块结构 pyecharts/charts/chart.py模块主要元素为4个类: Chart类:除复合图 ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
- C# chart控件基础使用
基本介绍:chart(图表) 功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器): 需要说明 一个chart可以包含多个chartArea. chartArea是具体的坐标区域 ...
- 图表Chart.js入门教程
使用Chart.js来制作各种各样的图表.下面将为你全方位介绍chart.js.chart.js最与众不同之处是,它可以在HTML5 Canvas上面绘制出色的响应式图表. Chart.js允许你把不 ...
- chart.js基本知识——调整图表尺寸
<chart.js使用学习 >最后提到测试过程中发现调用chart.js绘制的图表会自动充满父容器.如果canvas直接放在body标签下,则图标会充满整个页面,即便设置canvas的 ...
- Chart.js入门:简介
人们通常不希望浏览大量以文本或表格形式呈现给他们的数据. 大多数情况下,这是因为它很无聊,但更重要的是,处理原始数字要困难一些. 例如,这是世界上人口最多的十个国家的表格: 国名 人口 中国 1,37 ...
- chart.js使用学习——柱状图(1:基本用法)
柱状图属于以长方形的长度为变量的统计图表[1].chart.js创建图形的方式都类似,先是数据准备,然后在chart构造函数中指定图表类型. 如下列代码及效果图所示,chart类中将类型指定为 ...
- chart.js使用学习——雷达图
雷达图以二维形式综合对比多组数据的差异,常用于比较2组或更多组数据集[1].chart.js中雷达图的数据准备与其它图形相同,主要差异在于创建chart对象时,图形类型需指定为"rada ...
- 图表Chart js入门教程
使用Chart.js来制作各种各样的图表.下面将为你全方位介绍chart.js.chart.js最与众不同之处是,它可以在HTML5 Canvas上面绘制出色的响应式图表. Chart.js允许你把不 ...
最新文章
- 名词解释_写字楼租赁相关名词解释
- 110道Python面试真题
- SQL Server2005重装Performance Monitor Counter 的问题解决
- Stream流综合练习
- Fildder之Mac安装
- 250个jquery 插件
- cisco配置交换机管理地址和默认网关
- jsp中的session和上下文
- 统计系统所有进程总共占用多少内存
- vscode中怎样格式化js代码_vscode格式化配置
- 上计算机课应该有的表现,计算机应用基础学习过程表现
- IIS发布网站,如此简单
- 突破考易系统1.0切换窗口封锁
- 高级运维工程师打怪升级之路
- 单片机串口转USB模块CH376S读写U盘
- html help文档制作,HTML Help Workshop(文件制作工具)
- 2014-5-20 摇摇车现在已经是思杨的完美座驾了
- 各种“保险”英语怎么说?
- D类放大器背后的奥秘
- 二分图的最小顶点覆盖 和 最大独立集 和 最大团