MFC listctrl 控件滚动条的问题 。 怎么样才能让它总是可见?

MFC listctrl 控件滚动条的问题 。 怎么样才能让它总是可见?,第1张

其实没什么不好看的 windows 资源管理器也都是那样的

如果非要去就,就禁用横向滚动条就好了

不过你拖动改变列宽后可能显示不下,你得判断当所有列宽相加大于控件客户区宽度时显示滚动条,然后手动禁用或允许显示横向滚动条

你在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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7981038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存