xtreme toolkit pro——CXTPReportControl控件教程-1

CXTPReportControl控件是xtreme toolkit pro中的一个控件,它用来显示表格,可以显示表头表尾,可以对各列排序,拖放,等等,,也可以对各个单元格进行编辑,功能非常强大。下面介绍一下他的使用:

  1. 在工程中头文件“stdafx.h”中添加:

    #include< XTToolkitPro.h> // Xtreme Toolkit Pro component library
    
  2. 如果要使用静态连接的方式,还应该:

    Add the following line to your application's .rc2 file. This will link in the toolkit resources so they are available to your application.  
    
    #include < XTToolkitPro.rc>
    

如果是动态连接的方式,需要xtreme toolkit的.dll拷贝到exe的输出目录下。

  1. 添加CXTPReportControl控件:

    (1)在对话框中添加一个自定义控件,将该控件的class属性改为XTPReport,ID改为;IDC_REPORTCTRL_LIST。

    (2)添加一个自定义变量:CXTPReportControl m_wndReportCtrl;

    (3)将控件和变量联系起来,在对话框初始化函数OnInitDialog()中添加如下代码:

    m_wndReportCtrlList.SubclassDlgItem(IDC_REPORTCTRL_LIST,this);
    
  2. 设置控件的外观:

    //初始化报表的外观
    
    m_wndReportCtrl.AllowEdit(FALSE);
    
    //m_wndReportCtrl.EditOnClick(FALSE);
    
    //m_wndReportCtrl.EnableDragDrop(NULL, xtpReportAllowDrag | xtpReportAllowDrop);//允许拖曳行
    
    m_wndReportCtrl.EnableToolTips(TRUE);//在列头显示提示tooltips
    
    //m_wndReportCtrl.ShowHeader(TRUE);//显示头部(默认显示)
    
    //m_wndReportCtrl.ShowHeaderRows(TRUE);//显示头行
    
    //m_wndReportCtrl.ShowFooter(TRUE);//显示页脚footer,即界面下边,与header对应
    
    //m_wndReportCtrl.ShowFooterRows(TRUE);//显示页脚行
    
    //m_wndReportCtrl.HeaderRowsAllowEdit(TRUE);//允许编辑HeaderRows
    
    //m_wndReportCtrl.FooterRowsAllowEdit(TRUE);//允许编辑FooterRows
    
    //COLORREF clrNew;
    
    //clrNew = RGB(0, 255, 0);
    
    // m_wndReportCtrl.SetGridColor(clrNew);//设置网格线颜色
    
    m_wndReportCtrl.SetGridStyle(TRUE,XTPReportGridStyle(xtpReportGridSolid));//设置垂直网格线风格
    
    m_wndReportCtrl.SetGridStyle(FALSE,XTPReportGridStyle(xtpReportGridSolid));//设置垂直网格线风格
    
    //m_wndReportCtrl.SetFreezeColumnsCount(2);//左侧两列冻住,注意,此方法必须在添加了列之后才能使用
    
    m_wndReportCtrl.GetPaintManager()->SetColumnStyle(XTPReportColumnStyle(xtpReportColumnOffice2007));//设置列的风格
    
    //m_wndReportCtrl.GetPaintManager()->SetGridColor(clrNew);//设置网格线颜色
    
    m_wndReportCtrl.GetReportHeader()->AllowColumnRemove(FALSE);//不允许移除列
    
    m_wndReportCtrl.GetReportHeader()->AllowColumnResize(TRUE);//允许改变列的宽度
    
    m_wndReportCtrl.GetReportHeader()->AllowColumnSort(TRUE);//允许对列中的各行排序
    
    m_wndReportCtrl.GetReportHeader()->AllowColumnReorder(FALSE);//不允许列之间重新排序(通过拖拽列头部)
    
    m_wndReportCtrl.GetReportHeader()->SetAutoColumnSizing(TRUE);//不允许各列自动调节宽度
    
    //设置列宽自动调整为false,这样一来,所有列宽不是随reportControl的宽度变化而自动变化。
    
    //如果所有的列宽之和大于reportControl的宽度,就会自动显示横向工具条
    
    m_wndReportCtrl.SetFullColumnScrolling(FALSE);//按像素水平滚动,而不是逐列滚动(即滚动一下就移动一列)
    
    //m_wndReportCtrl.SetFullColumnScrolling(TRUE);//逐列滚动(即滚动一下就移动一列)
    
    m_wndReportCtrl.SetMultipleSelection(TRUE);//允许多选
    
  3. 添加列:

    ///添加列
    
    CXTPReportColumn* pCol1=new CXTPReportColumn(0, _T("序号"), 80);
    
    pCol1->SetHeaderAlignment(DT_CENTER);
    
    pCol1->SetAlignment(DT_CENTER);
    
    //pCol1->SetEditable(FALSE);//不可编辑
    
    m_wndReportCtrl.AddColumn(pCol1);
    
  4. 添加行

    CXTPReportRecord *pRecord = new CXTPReportRecord();
    
    pRecord->AddItem(new CXTPReportRecordItemNumber(i+1));//行号
    
    pRecord->AddItem(new CXTPReportRecordItemText(m_pDataGroup->m_arrDataTable[i].m_sBusInfo));//基本信息
    
    pRecord->AddItem(new CXTPReportRecordItemNumber(m_pDataGroup->m_arrDataTable[i].m_dMw1,KEY_FORMAT_NUMBER));
    
    pRecord->AddItem(new CXTPReportRecordItemNumber(m_pDataGroup->m_arrDataTable[i].m_dMw2,KEY_FORMAT_NUMBER));
    
    pRecord->AddItem(new CXTPReportRecordItemNumber(m_pDataGroup->m_arrDataTable[i].m_dMw2-m_pDataGroup->m_arrDataTable[i].m_dMw1,KEY_FORMAT_NUMBER));
    
    m_wndReportCtrl.AddRecord(pRecord);
    
  5. 显示

    m_wndReportCtrl.Populate();
    
  6. 添加报表行焦点改变事件:

    (1)在报表所在对话框的头文件中添加消息映射函数:

    afx_msg void OnReportFocusChanging(NMHDR* pNMHDR, LRESULT* result);
    

    (2)在报表所在对话框的源文件中将消息映射函数和报表控件联系起来,即在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间添加:

    ON_NOTIFY(XTP_NM_REPORT_FOCUS_CHANGING, IDC_REPORTCTRL_LIST, OnReportFocusChanging)
    

    (3)实现消息映射函数,如下:

    //表中焦点行改变时的事件(包括用鼠标单击和用键盘的方向键)
    
    void CWEReportDlg::OnReportFocusChanging(NMHDR * pNotifyStruct, LRESULT * /*result*/)
    
    {
    
    XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
    
    if (!pItemNotify)   return;
    
    CXTPReportRow* pRowSel=pItemNotify->pRow;
    
    if (!pRowSel)   return;
    
    TRACE(_T("Click on row %d\n"),pRowSel->GetIndex());
    
    CXTPReportRecord* pRecordSel=pRowSel->GetRecord();
    
    if(!pRecordSel) return;
    
    CXTPReportRecordItemText* pText=(CXTPReportRecordItemText*)(pRecordSel->GetItem(0));
    
    if(!pText) return;
    
    if (pText->GetValue().Trim()==m_sTableNameNow)
    
    {
    
        return;//如果单击的行和上一次是同一行,就不用进行下面的操作
    
    }
    
    //更新当前记录和ATC
    
    m_sTableNameNow=pText->GetValue().Trim();
    
    if (m_sTableNameNow!="")
    
    {
    
        FindTableByName(m_sTableNameNow);
    
        //更改选择的报表后,更新相应的已选框和待选框中的内容
    
        UpdateReportTable();
    }
    
Xtreme Toolkit Pro v15破解版 安装说明:执行setup.exe进行软件的安装,安装的过程中要求输入Serial Number,运行keygen.exe,选择Products中Xtreme ToolKitPro,将License Key复制到安装对话框Serial Number中,完成软件的安装之后即可正常使用。 原文出自【风信网】,转载请保留原文链接:http://www.ithov.com/soft/116063.shtml Xtreme Toolkit Pro 为Windows开发人员提供了一个尖端技术的组件集来为你的应用程序提供一个专业的,现代化的外观。Xtreme Suite Pro组合了8种我们最受欢迎的组件, Xtreme CommandBar,Xtreme Docking Pane,Xtreme Property Grid,Xtreme Report ControlXtreme Calendar,Xtreme Task Panel,Xtreme ShortcutBar和 Xtreme Controls。 产品特点 Xtreme Suite Professional Edition 中包含了下面列出的各种产品。点击相应的链接可以观看该产品的功能漫游。观看结束后可以返回本页,查看 Xtreme Toolkit Pro 的其他功能。 Xtreme Calendar控件能为 Windows开发者提供完善的类似于Outlook 2003 Calendar的风格。 Xtreme Command Bars 提供非常漂亮的Office风格的命令条和One Note样式的Tab 。 Xtreme Controls为Windows图形用户软件工程师提供众多的有关MFC的控件产品 。 Xtreme Docking Pane浮动面板为Windows开发者提供了完善的Visual Studio.NET风格的浮动面板。 Xtreme Property Grid属性网格为Windows开发者提供了完善的Visual Studio.NET风格的属性网格。 Xtreme Report Control为windows开发者提供一个完善的类似于Outlook 2003报表的风格。 Xtreme ShortcutBar为Windows开发者提供了完善的Office 2003快捷工具栏导航菜单,该菜单类似于Microsoft? Outlook 2003的导航菜单。 Xtreme TaskPanel为Windows开发者提供了一个非常熟悉的任务栏,与Windows资源管理器类似。 运行环境 Visual Basic 6.0 Visual Basic .NET 2002 Visual Basic .NET 2003 Visual Basic .NET 2005 Visual C# .NET 2002 Visual C# .NET 2003 Visual C# .NET 2005
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值