CListControl标头的颜色更改............? [英] Color change for the CListControl Header............?

查看:77
本文介绍了CListControl标头的颜色更改............?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,


请帮助我使用MFC应用程序更改ListControl标题背景的颜色和文本的颜色.(请详细告诉我.)

谢谢
sudhir.

Dear All,


Please Help me to change the color for ListControl Header background and text color using MFC Applications.(please Tell me in detail.)

Thanks
sudhir.

推荐答案

亲爱的所有人,

我做到了.

以及解决方案如下.

1.创建一个从CHeaderCtrl
继承的类 2.为相同的类添加NM_CUSTOMDRAW(做类似的事情.)

无效GRDSCDClrHder :: OnNMCustomdraw(NMHDR * pNMHDR,LRESULT * pResult)
{

NMCUSTOMDRAW * ocCstmDrw =(NMCUSTOMDRAW *)pNMHDR;
HDC ocDC = ocCstmDrw-> hdc;

开关(ocCstmDrw-> dwDrawStage){

案例CDDS_PREPAINT:
* pResult = CDRF_NOTIFYITEMDRAW;
休息;

案例CDDS_ITEMPREPAINT:
SetTextColor(ocDC,RGB(250,0,0));
SetBkColor(ocDC,RGB(255,255,0));
* pResult = CDRF_NOTIFYITEMDRAW;
休息;

案例CDDS_SUBITEM | CDDS_ITEM:
* pResult = CDRF_NOTIFYITEMDRAW;
休息;
}

3.现在包括在其中创建列表控件的此类.
4.终于做些
m_pcHeaderCtrl.SubclassWindow(lc.GetHeaderCtrl()-> m_hWnd);为CListCtrl创建实例之后.现在执行并查看彩色标题.

谢谢
Sudheer.
Dear All,

i have done it.

and the solutions as follows..

1. Create a class which is inherited from CHeaderCtrl
2. Add NM_CUSTOMDRAWfor the same class(Do somthing like.. )

void GRDSCDClrHder::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
{

NMCUSTOMDRAW* ocCstmDrw = (NMCUSTOMDRAW*)pNMHDR;
HDC ocDC = ocCstmDrw->hdc;

switch(ocCstmDrw->dwDrawStage) {

case CDDS_PREPAINT :
*pResult = CDRF_NOTIFYITEMDRAW;
break;

case CDDS_ITEMPREPAINT:
SetTextColor(ocDC, RGB(250, 0, 0));
SetBkColor(ocDC, RGB( 255, 255, 0));
*pResult = CDRF_NOTIFYITEMDRAW;
break;

case CDDS_SUBITEM | CDDS_ITEM:
*pResult = CDRF_NOTIFYITEMDRAW;
break;
}

3. now include this class where the list control is been created.
4. finally do somthing like
m_pcHeaderCtrl.SubclassWindow(lc.GetHeaderCtrl()-> m_hWnd); after creating the instance for the CListCtrl. now execute and see colorful header.

Thanks
Sudheer.


此代码适用于Windows Classic环境,但不适用于Windows XP.

有任何想法吗?

谢谢
This code is working for Windows Classic environment but not for Windows XP.

Any Idea ?

Thanks


这篇关于CListControl标头的颜色更改............?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆