ctreectrlx改变子项字体和颜色cmap

ctreectrlx改变子项字体和颜色cmap

ID:11615443

大小:20.60 KB

页数:8页

时间:2018-07-13

ctreectrlx改变子项字体和颜色cmap_第1页
ctreectrlx改变子项字体和颜色cmap_第2页
ctreectrlx改变子项字体和颜色cmap_第3页
ctreectrlx改变子项字体和颜色cmap_第4页
ctreectrlx改变子项字体和颜色cmap_第5页
资源描述:

《ctreectrlx改变子项字体和颜色cmap》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在VC++中改变CTreeCtrl子项Item字体和颜色http://lxspine.blog.hexun.com/8664035_d.htmlSettingcolorandfontattributeoftheitemforCTreeCtrlinVC++.翻译ZafirAnjum的文章Settingcolorandfontattributeforindividualitems原文http://www.codeguru.com/Cpp/controls/treeview/misc-advanced/article.php/c633通过定义一个继承CTreeC

2、trl的类来实现改变子项字体和颜色:首先定义一个字体、颜色的结构体:protected:structColor_Font{  COLORREFcolor;  LOGFONTlogfont;};使用CMap来保存各个Item对应的字体、颜色信息CMapm_mapColorFont;添加设置字体、颜色、粗体的函数voidCTreeCtrlX::SetItemFont(HTREEITEMhItem,LOGFONT&logfont){Color_Fontcf;if(!m_mapColorFon

3、t.Lookup(hItem,cf))  cf.color=(COLORREF)-1;cf.logfont=logfont;m_mapColorFont[hItem]=cf;}voidCTreeCtrlX::SetItemBold(HTREEITEMhItem,BOOLbBold){SetItemState(hItem,bBold?TVIS_BOLD:0,TVIS_BOLD);}voidCTreeCtrlX::SetItemColor(HTREEITEMhItem,COLORREFcolor){Color_Fontcf;if(!m_mapColorFont

4、.Lookup(hItem,cf))  cf.logfont.lfFaceName[0]='';cf.color=color;m_mapColorFont[hItem]=cf;}BOOLCTreeCtrlX::GetItemFont(HTREEITEMhItem,LOGFONT*plogfont){Color_Fontcf;if(!m_mapColorFont.Lookup(hItem,cf))  returnFALSE;if(cf.logfont.lfFaceName[0]=='')  returnFALSE;*plogfont=cf.logfo

5、nt;returnTRUE;}BOOLCTreeCtrlX::GetItemBold(HTREEITEMhItem){returnGetItemState(hItem,TVIS_BOLD)&TVIS_BOLD;}COLORREFCTreeCtrlX::GetItemColor(HTREEITEMhItem){//Returns(COLORREF)-1ifcolorwasnotsetColor_Fontcf;if(!m_mapColorFont.Lookup(hItem,cf))  return(COLORREF)-1;returncf.color;}添加W

6、M_PAINT信息监控,重载OnPaint()函数来实现绘制afx_msgvoidCMyTreeCtrl::OnPaint(){//获取当前绘制对象的DCCPaintDCdc(this);//使用将要绘制的对象的DC创建一个memoryDC//memorydevicecontext的概念:是在内存中创建一个结构来反映一个显示(屏幕区域、窗口、//打印机等)的表面。可以用来先在内存中准备好要显示的图像,从而实现双缓存,提高刷新//速度减少刷新时产生的闪烁。CDCmemDC;//从当前DC创建内存对象memDC.CreateCompatibleDC(&dc);

7、//定义CRect对象,用来确定区域CRectrcClip,rcClient;//获取当前对象的边界区域dc.GetClipBox(&rcClip);//获取当前对象的用户区域GetClientRect(&rcClient);//SelectacompatiblebitmapintothememoryDC//创建一个bmp文件,作为memDC的内容//该文件的大小与用于区域相同CBitmapbitmap;bitmap.CreateCompatibleBitmap(&dc,rcClient.Width(),rcClient.Height());memDC.S

8、electObject(&bitmap);//Setclipreg

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。