简单问题:
怎么给 ListBox 加水平滚动条?
怎么给 ListBox 加水平滚动条?
解决方案 »
- 动态combox的值的获取的问题!
- 用HTML HELP WORDSHOP制作的帮助文件,在DELPHI中调用出现了问题,请各位大哥帮我看一下!
- 在VC中,有没有类似"DELPHI技巧"的资料包啊
- 一个关于delphi操作foxpro表的问题!
- 如何打开LPT口写数据?
- ACCESS数据库,aa为一字符串型的字段,选出其值为空的记录,怎么查不出来?
- 帮我看一下!
- 高分求简单问题,怎么用SQL把文本框的数据插入数据库里?
- 老的 Turbo Basic 程序员转 Delphi 的一些理解(从 DOS 下语言转型的程序员请)...
- 如何作出象OICQ那样的彩色POPUPMENU?参与有分
- 菜鸟求教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消息来设置列表框的水平滚动条的宽度(以象素点表示),外加两个额外的象素。
接分吧!