随笔 - 6  文章 - 129  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(14)

随笔档案(6)

文章分类(467)

文章档案(423)

相册

收藏夹(18)

JAVA

搜索

  •  

积分与排名

  • 积分 - 822293
  • 排名 - 49

最新评论

阅读排行榜

评论排行榜

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消息来设置列表框的水平滚动条的宽度(以象素点表示),外 加两个额外的象素。

(出处:http://www2.delphifans.com/blog /more.asp?name=caixiaoming&id=392)



posted on 2010-05-19 11:45 Ke 阅读(349) 评论(0)  编辑  收藏 所属分类: delphi

只有注册用户登录后才能发表评论。


网站导航: