简单问题:
怎么给 ListBox 加水平滚动条?
怎么给 ListBox 加水平滚动条?
解决方案 »
- 多线程 加载内容
- 很低调的宣布一下:senhor百合妹妹已经应邀加盟CSDN论坛D版论坛秀活动
- TBitmap如何制作透明背景?(怎样删除 某一种颜色的象素??)
- ADO的问题,急,在线等待!!!
- 打抱程序时怎么携带fonts 文件?
- 为什么d6的tidpop3的例程mailmemo不能连上远程服务器,出现socketerror错误,但是可以连接局域网mail服务器?
- TClientDataSet如何过滤格式日期
- HeaderControl应该怎样使用?
- 如何实现这样的数据库查询和输入法
- 怎么将一个表中的几条记录增加到别的表中,其中表结构一样
- 菜鸟求教qreport代码汉化问题》》大侠助我啊
- 如果操作系统是Windows XP(且主题服务没有禁用)就use xpman,否则就use XPMenu?
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;
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;
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消息来设置列表框的水平滚动条的宽度(以象素点表示),外加两个额外的象素。
接分吧!