您的位置:首页 > 其它

MFC EDIT控件自动显示垂直滚动条

2015-12-24 12:39 253 查看
首先设置EDIT控件的属性,如下:

注意:Horizontal scroll 和 Auto HScroll 不要选择。
在OnInitDialog()函数中处理:

// 获取EDIT可以显示的行数 
TEXTMETRIC tm;
CRect rect;
GetDlgItem(IDC_EDIT_INFO)->GetClientRect(&rect);
CDC* pdc = GetDlgItem(IDC_EDIT_INFO)->GetDC();
::GetTextMetrics(pdc->m_hDC,&tm);
GetDlgItem(IDC_EDIT_INFO)->ReleaseDC(pdc);
m_nLineCount = rect.bottom/(tm.tmHeight-1.5);

在需要显示时:
        SetDlgItemText(IDC_EDIT_INFO,strStatus);
int nLine = ((CEdit*)GetDlgItem(IDC_EDIT_INFO))->GetLineCount();
if( nLine > m_nLineCount)
{
GetDlgItem(IDC_EDIT_INFO)->ShowScrollBar(SB_VERT, TRUE);
}
else
{
GetDlgItem(IDC_EDIT_INFO)->ShowScrollBar(SB_VERT, FALSE);
}
</pre><pre name="code" class="cpp">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: