Delphi使ListBox下拉时出现水平滚动条?

wenzm 2000-10-28 02:54:00

当Item内容较长时,标准listBox中超过lisBox.width的长度看不到,如何决?

试过sendmessag+LB_SETHORIZONTALEXTENT 但无效(对ComBox有效).
...全文
428 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeah 2000-10-29
  • 打赏
  • 举报
回复
呵呵,来晚了。
zxq80 2000-10-28
  • 打赏
  • 举报
回复
给TListBox 发送一个LB_SetHorizontalExtent消息就行了。下面是源代码:
SendMessage(ListBox1.Handle,LB_SetHorizontalExtent,5000, longint(0));
wuyouwulv 2000-10-28
  • 打赏
  • 举报
回复
在你的Form的OnCreate事件中添加以下代码:
procedure TForm1.FormCreate(Sender: TObject);
var
i, MaxWidth: integer;
begin
MaxWidth := 0;
for i := 0 to ListBox1.Items.Count - 1 do
if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then
MaxWidth := ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]);
SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0);
end;

用此方法,包你成功!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧