自绘CTreeCtrl树节点名称显示不全的问题

在实际应用中,需要自绘CTreeCtrl,全部使用gdi绘制节点和文字,当节点名称较长时会出现显示不全的问题,拖动到最右边的时候仍然不能显示完全。


 

 

原因是自绘的字体与CTreeCtrl默认的字体不同造成的。

解决方法是向树控件发送WM_SETFONT消息,将默认字体替换为自绘的字体。

 

 

CFont* pOldFont;
CFont newFont;

LOGFONT lf;
ZeroMemory(&lf,sizeof(lf));
lf.lfHeight = 12;
lf.lfWidth = 6;
lf.lfWeight = 100;
_tcscpy(lf.lfFaceName,_T("宋体"));
newFont.CreateFontIndirect(&lf);
pOldFont = tempDC.SelectObject(&newFont);
::SendMessage(m_hWnd, WM_SETFONT, (WPARAM)&newFont, (LPARAM)FALSE);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值