如果非要去就,就禁用横向滚动条就好了
不过你拖动改变列宽后可能显示不下,你得判断当所有列宽相加大于控件客户区宽度时显示滚动条,然后手动禁用或允许显示横向滚动条
你在OnHScroll函数中加入一个 MessageBox()d出消息提醒,如果你拖动滚动条,或鼠标滑动滚动条有这个消息d出,说明是进入到这个消息处理中的。
或者你直接debug 调试运行,一步一步查找,看是否执行到这里了。
在对话框的oninitdialog中对于listbox添加完项目后,调用下面的函数即可以了。SetListboxHorz(m_yourlistbox)
int SetListboxHorz( CListBox &listbox )
{
CString Name
CSize Size
CDC * DeviceContent = 0
long Width = 0
long Count = 0
Count = listbox.GetCount()
if ( Count )
{
DeviceContent = listbox.GetDC()
for ( long Index = 0 Index < Count Index++ )
{
listbox.GetText( Index, Name )
Size = DeviceContent->GetTextExtent( Name )
if ( Size.cx > Width )
Width = Size.cx
}
listbox.ReleaseDC( DeviceContent )
}
listbox.SetHorizontalExtent( Width )
return TRUE
} 或者:CPaintDC dc(this)
CSize sz
int max_width=0
m_listbox.AddString( "xxxxx ")
sz=dc.GetTextExtent( "xxxxx ")
if(max_width <sz.cx)
max_width=sz.cx
m_listbox.SendMessage(LB_SETHORIZONTALEXTENT,max_width,0)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)