用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Delphi

为TListBox组件添加水平滚动条

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:02:37
DelphiTListBox组件会自动添加一个垂直滚动条,即当列表框的高度容纳不下所有的列表条目时,垂直滚动条就自动显示。但是,当条目的宽度大于列表框的宽度时,水平滚动条不会自动显示。当然, 可以在列表框中加如水平滚动条,方法是在窗体的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;

这段代码先查找列表框中最长的条目的宽度(以象素点表示),然后, LB_SETHORIZONTALEXTENT消息来设置列表框的水平滚动条的宽度(以象素点表示),外加两个额外的象素。

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:4,250.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号