首页 > 技术文章 > BCGcontrolBar(三) 添加表格(Grid)组件

xd-jinjian 2015-03-15 15:44 原文

表格组件和图表组件是BCG的亮点之一  

如下图 BCG有众多的表格样式可供选择

 

下图是插入基本表格组件后的效果

 

 

首先在程序中添加 

BasicGridCtrl.h

BasicGridCtrl.cpp

因为我在单文档的视图区添加grid

因此在 xxxview.cpp中添加 #include "BasicGridCtrl.h"

在  xxxview.h中添加 CBCGPGridCtrl* m_pCurrGrid;

void AdjustLayout ();

并添加oncreate函数

并加入以下代码 

int CBCGControl30View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CView::OnCreate(lpCreateStruct) == -1)
        return -1;

    // TODO:  在此添加您专用的创建代码
    CRect rectClient;
    GetClientRect ( rectClient);
    CBCGPGridCtrl* pGridCtrl =new CBasicGridCtrl;
    ASSERT_VALID (pGridCtrl);
    if (!pGridCtrl->Create (WS_CHILD, rectClient, this, 1))
    {
        ASSERT (FALSE);
        return -1;
    }
    CBCGPGridColors theme;
    CBCGPVisualManager::GetInstance ()->OnSetGridColorTheme(pGridCtrl, theme);
    pGridCtrl->SetColorTheme(theme);
    m_pCurrGrid=pGridCtrl;
    m_pCurrGrid->ShowWindow (SW_SHOW);
}    


void CBCGControl30View::AdjustLayout ()
{
    if (m_pCurrGrid->GetSafeHwnd () == NULL)
      {
        return;
       }


    CRect rectClient;
    GetClientRect (rectClient);
    m_pCurrGrid->SetWindowPos (NULL, 0, 0, rectClient.Width (), rectClient.Height (),SWP_NOACTIVATE | SWP_NOZORDER);

}

 

 

 另外还可以改变表格大小和字体显示大小

表格大小在SetRowHeight()函数中设置

字体大小同上例设置

另还可以加入表格风格

最终效果如下显示

推荐阅读