MFC中关于CListBox控件添加水平滚动条


首先是设置listbox控件的属性  Horizontal Scroll设为TRUE;

然后添加函数到CUighurRecognitionDlg.cpp(在CUighurRecognitionDlg.h中声明函数)

void CUighurRecognitionDlg::SetHScroll()
{
    CDC* dc = GetDC();
    SIZE s;
    int index;
    CString str;
    long temp;
    for (index = 0; index< m_list.GetCount(); index++)
    {
        m_list.GetText(index, str);
        s = dc->GetTextExtent(str, str.GetLength() + 1);   // 获取字符串的像素大小
                                                           // 如果新的字符串宽度大于先前的水平滚动条宽度,则重新设置滚动条宽度
                                                           // IDC_LISTBOX为m_List的资源ID
        temp = (long)SendDlgItemMessage(IDC_LIST1, LB_GETHORIZONTALEXTENT, 0, 0); //temp得到滚动条的宽度
        if (s.cx > temp)
        {
            SendDlgItemMessage(IDC_LIST1, LB_SETHORIZONTALEXTENT, (WPARAM)s.cx, 0);
        }
    }
    ReleaseDC(dc);
}

m_list为listbox的关联变量;IDC_LIST1为listbox的ID

添加关联变量的方法:右击listbox控件->类向导->成员变量->添加变量->确定

 

 

直接调用此函数就行


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM