nControl; Index: Integer;
var Height: Integer);
begin
file://控制
图片的高度
Height := 59;
end;
在ListBox4的OnDrawItem事件中书写如下代码:
procedure TForm1.ListBox4DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
ABmp: TBitmap;
begin
try
ABmp := TBitmap.Create;
ImageList2.GetBitmap(Index, ABmp);
ListBox4.Canvas.FillRect(Rect);
ListBox4.Canvas.Draw(Rect.Left, Rect.Top, ABmp);
finally
ABmp.Free;
end;
end;
这种利用TListBox实现的照片框效果,对于照片,商品
图片的显示有一定价值。
6. 以缩略图方式浏览某个文件夹下
图片效果的列表框
在ListBox5的OnMeasureItem事件中书写如下代码:
procedure TForm1.ListBox5MeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
begin
file://控制
图片的高度
Height := 59;
end;
在ListBox5的OnDrawItem事件中书写如下代码:
procedure TForm1.ListBox5DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
file://
图片文件名
Fn: string;
ABmp: TBitmap;
begin
try
ABmp := TBitmap.Create;
Fn := ListBox5.Items[Index];
ABmp.LoadFromFile(ListBox5.Items[Index]);
Dec(Rect.Bottom);
ListBox5.Canvas.FillRect(Rect);
ListBox5.Canvas.StretchDraw(Rect, ABmp);
finally
ABmp.Free;
end;
end;
设置Button2的Caption为"预览",在其Click事件中书写如下代码:
var
sr: TSearchRec;
Dir: string;
begin
Dir := '''';
file://选择目录对话框,需要在Uses中加入对FileCtrl单元的引用声明
if SelectDirectory(''选择图片目录'', '''', Dir) then
begin
ListBox5.Items.Clear;
file://
搜索该目录下的所有bmp文件
if FindFirst(Dir + ''\*.bmp'', faReadOnly, sr) = 0 then
begin
ListBox5.Items.Add(Dir + ''\'' + Sr.Name);
while FindNext(sr) = 0 do
begin
ListBox5.Items.Add(Dir + ''\'' + Sr.Name);
end;
FindClose(sr);
end;
end;
end;