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控件->类向导->成员变量->添加变量->确定
直接调用此函数就行