我现在写一个软件,每个窗体都要加载JPG图片,同时用动态控件数组的方法创建了20多个控件(TLABEL,TSPEEDBUTTON),但现在当从一个窗体show后面的窗体时,速度比较慢。不知道是动态控件数组的问题还是加载图片的问题。
请各位大侠给点指教,本人急用!
请各位大侠给点指教,本人急用!
解决方案 »
- 动态设置任务栏的属性
- 怎样把多个图标添加到EXE中?
- delphi 注册动态库
- 【求助】在深圳的兄弟姐妹进来帮个忙~~~
- dll调试问题。来着有分
- 那里有 INSTALLSHIELD EXPRESS 使用说明?
- 用100分求购几道delphi7+sql2000四级题的答案(无选择和填空题,分不够了还可以再加)!
- 请教大虾:我用TUDPSocket控件通信!
- 请问:ADO+MSSQL2000,如何在一个事务中,select * from table where id=xx 后,即对这条记录加锁,不让其它用户读取。
- 老兄,小弟又烦你们了救救我吧,关于QREPORT的,小弟先给100分不够再加。
- imagelist1.Draw(form1.Canvas,10,20,0)的时候画出的图片很小,如何设置其显示为原始大小
- 求解!
能不能把代码贴出来看看?
(当然还要看你是从硬盘里找图片,还是图片直接存图片控件上)
2。用多线程,在显示当前图片时,在内存中先加载入下一张图片,这样要显示时就要读取内存中处理好的信息就可以了,acdsee就是这么干的。
var
i : Integer;
PropList: TStrings;
begin
//读取保存的控件属性信息,LabelInfo中每一个ITEM保存一个控件的信息
ImageInfo := TStringList.Create;
ImageInfo.Clear;
ImageInfo.LoadFromFile(SkinIniFile); PropList := TStringList.Create;
for i := 0 to ImageInfo.Count - 1 do
begin
//PropList是用来解析 "10", "10", "100", "200", Label 这个类型的字符串
//可以自动分解为多个ITEM,可以看 TStringList.CommaText 属性的帮助文档
PropList.Clear;
PropList.CommaText := ImageInfo[I];
//if ComponentsType = '1' then //生成TSpeedButton按钮
with TSpeedButton.Create(ParenForm) do
begin
Parent := ParenForm;
//格式参见保存方法
Name:= PropList[4];
Left := StrToInt(PropList[0]);
Top := StrToInt(PropList[1]);
Width := StrToInt(PropList[2]);
Height := StrToInt(PropList[3]);
Tag := i+1;
Flat := True;
BringToFront;
Show;
end;
end;
PropList.Free;上面的动态创建SPEEDBUTTON按钮是不是有问题,为何我用这种方法创建新窗体的时候创建SPEEDBUTTON这么慢?请楼上的各位高手指点!