界面的截图http://www.a4pocket.com/images/image-view.jpg
图片的来源是硬盘上的各种格式的图片文件。我考虑过用listview + imagelist,但imagelist只接受bmp格式。每次显示时都要进行格式转换效率太慢。
图片的来源是硬盘上的各种格式的图片文件。我考虑过用listview + imagelist,但imagelist只接受bmp格式。每次显示时都要进行格式转换效率太慢。
解决方案 »
- 怎么写一个多线程程序?
- 在这里问一个非程序的问题.不过也很困难...希望DELPHI的朋友们能帮我解答一下...
- 求多线程解决方案:TCP通信,一个客户端连多个服务端
- 如何用Delphi设置一个Excel文档的打印方向?(不是在Delphi中调用和打印)
- 如何使用XPMenu这个包?
- dbgrid里的内容怎么导入到excel或者文本文件
- 三层数据库应用,错误提示:OLE服务无法绑定对象.<在线等待,马上给分!谢谢!>
- 我刚结婚,需要2000元投资我的爱机,但厨师出身的老婆不同意,怎么办,大家别出点好点子,别开玩笑,
- 如何发布三层结构的客户端程序(用DcomConection连接)
- 请问新起一个对话框,如何引用当前窗体的控件?
- 控件动态生成的问题,高手请进
- 再求一个sql语句:如何使用distinct?
http://www.playicq.com/1/14472.html
private
FCanvas:TCanvas;
FImage:TImageIntf;
FLabel:TLabel;
...
end; TThumbFileView = class(TObject)
private
FScrollBox:TScrollBox;
...
end;procedure TThumbFileView.OnScrollBoxResize(Sender:TObject);
var
ThumbPos,ThumbPosTmp:TPoint;
I:Integer;
ThumbPanel:TThumbPanel;
begin
if FRowThumbCount<>(FScrollBox.Width div (Thumb_Width+10)) then begin
LockWindowUpdate(FScrollBox.Handle);
try
FRowThumbCount:=(FScrollBox.Width div (Thumb_Width+10));
ThumbPos.X:=10;
ThumbPos.Y:=10;
for I:=0 to FScrollBox.ControlCount-1 do begin
if (FScrollBox.Controls[I] is TThumbPanel) then begin
ThumbPanel:=TThumbPanel(FScrollBox.Controls[I]);
ThumbPosTmp.X:=ThumbPos.X-FScrollBox.HorzScrollBar.Position;
ThumbPosTmp.Y:=ThumbPos.Y-FScrollBox.VertScrollBar.Position;
ThumbPanel.Left:=ThumbPosTmp.X;
ThumbPanel.Top:=ThumbPosTmp.Y;
inc(ThumbPos.X,Thumb_Width+10);
if (ThumbPos.X>(FScrollBox.Width-Thumb_Width)) then begin
ThumbPos.X:=10;
Inc(ThumbPos.Y,Thumb_Height+10);
end;
end;
end;
finally
LockWindowUpdate(0);
end;
end;
end;也许对你有启发。。:)