MFC中如何增大CTreeCtrl项文本区域宽度

自绘的时候,设置了字体大小,但文字只显示部分,树控件项文本区域宽度不够。谁知道怎么增大宽度啊。。。... 自绘的时候,设置了字体大小,但文字只显示部分,树控件项文本区域宽度不够。谁知道怎么增大宽度啊。。。 展开
 我来答
匿名用户
2013-05-24
展开全部
估计是你在处理单击事件的时候,因为只有单击文本区域才会相应,所以你想增长这个文本区域。。是吧。我也没找到方法,但是你可以重载树控件的鼠标响应事件,就可以实现了。CTreeCtrlBT重载CTreeCtrl类。在类中加入如下void CTreeCtrlBT::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if( m_bCursorOnTree == FALSE ) //m_bCursorOnTree是全局的BOOL变量,判断鼠标是否在上面
{
TRACKMOUSEEVENT tme;
ZeroMemory(&tme,sizeof(TRACKMOUSEEVENT));
tme.cbSize = sizeof(tme);
tme.hwndTrack = m_hWnd;
tme.dwFlags = TME_LEAVE|TME_HOVER;
tme.dwHoverTime = 1;
m_bCursorOnTree = _TrackMouseEvent(&tme);
}
CTreeCtrl::OnMouseMove(nFlags, point);
}LRESULT CTreeCtrlBT::OnMouseLeave(WPARAM wparam, LPARAM lparam)
{
m_bCursorOnTree = FALSE;
return 0L;
} LRESULT CTreeCtrlBT::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDBLCLK: //左键单击
{ //............... break;
}
case WM_RBUTTONDOWN: //右键单击
{//....break;
}
return CTreeCtrl::DefWindowProc(message, wParam, lParam);
}
匿名用户
2013-05-24
展开全部
直接调用CWnd的MoveWindow函数就可以了。

比如你的控件ID是IDC_TREE1
这样:
GetDlgItem(IDC_TREE1)->MoveWindow(10, 10, 300, 50);

这样就把控件的宽度设置成了300,高度设置成了500
控件的顶-左位置为 10,10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式