一,新建一个基于对话框的BCG工程,单BCGPGridCtrlGroup。

二,CBCGPGridCtrlGroupDlg类增加变量

CBCGPGridCtrl m_grid;

三,CBCGPGridCtrlGroupDlg::OnInitDialog

CRect r(0,0,300,300);

m_grid.Create(WS_CHILD, r, this, 1);

m_grid.ShowWindow(SW_SHOW);

m_grid.InsertColumn (0, _T("姓名"), 100);

m_grid.InsertColumn (1, _T("性别"), 100);

const int iCol = m_grid.GetColumnCount ();

for( long i = 0 ; i < 4 ; i++ )

{

CBCGPGridRow* pRow = m_grid.CreateRow (iCol);

if( NULL == pRow )

return TRUE ;

if( 0 == i )

{

pRow->GetItem(0)->SetValue(_T("曹操"));

pRow->GetItem(1)->SetValue(_T(""));

}

else if( 1 == i )

{

pRow->GetItem(0)->SetValue(_T("孙尚香"));

pRow->GetItem(1)->SetValue(_T(""));

}

else if( 2 == i )

{

pRow->GetItem(0)->SetValue(_T("黄月英"));

pRow->GetItem(1)->SetValue(_T(""));

}

else if( 3 == i )

{

pRow->GetItem(0)->SetValue(_T("吕布"));

pRow->GetItem(1)->SetValue(_T(""));

}

m_grid.AddRow (pRow, FALSE);

}

m_grid.InsertGroupColumn (0,1);

m_grid.AdjustLayout ();

四,Ctrl+F5看运行效果:按性别分组。如下图:

五,增加一个按钮,响应函数如下:

void CBCGPGridCtrlGroupDlg::OnButton1() 

{

m_grid.SetCustomColors(RGB(255,0,0),RGB(0,255,0),RGB(0,0,255),-1,-1,-1);

}

六,Ctrl+F5查看运行效果,文字背景色变成红色,文字前景色变成绿色,群组文字变成蓝色。如图所示:

七,再增加一按钮,响应函数如下:

void CBCGPGridCtrlGroupDlg::OnButton2() 

{

m_grid.SetCustomColors(-1,-1,-1,RGB(255,0,0),RGB(0,255,0),RGB(0,0,255));

}

八,Ctrl+F5查看运行效果。效果是:群组文字前景色变成红色,左边空隙变成绿色,线条变成蓝色。如图所示:

如果想设置更多颜色请用SetColorTheme函数。

 

 

源码下载:

http://download.csdn.net/detail/he_zhidan/8010089

posted on   闻缺陷则喜何志丹  阅读(4)  评论(0编辑  收藏  举报  
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~



点击右上角即可分享
微信分享提示