你没有指定Img的位置和大小。
解决方案 »
- 江湖救急,程序用嵌入Word的方式打开word文档的问题
- 左边表格加右边文本打印?分不够再加!
- 请教一个问题:dephi+SQL server 中 delete from paper_data1 where word='是' or word='中' 报错
- 请大侠帮忙!
- 创建一个自动创建文件夹来?//
- 如何将配置信息写入.exe内(象ShareQQ)?有源代码吗?
- 用IDFTP做FTP客户端的连接问题,代码如下,一运行就死掉,为什么?
- 请教:有关delphi的adodataset
- Delphi如何动态更新 WebService IP 地址
- 请 Delphi 版的朋友帮忙推荐一些关于多层数据库开发以及关于com/dcom/MTS 的书
- TABLE控件的计算列,怎样写计算公式或赋值?
- 急!!! 一定加分,一个数据库登陆问题
var
i:integer;
begin
SetLength(Img, 11); //开辟空间 下标从0开始
for i:=1 to 10 do
Begin
img[i]:= TImage.Create(Self);
img[i].parent := Panel1;
img[i].Stretch:=True;
img[i].Picture.LoadFromFile('c:\a.bmp');
img[i].OnClick := MyClick;
end;
end;
var
a:TImage;
begin
if OpenPictureDialog1.Execute then
Begin
a:= TImage.Create(Self);
a.parent := Panel1;
a.Stretch:=True;
a.Picture.LoadFromFile(OpenPictureDialog1.FileName );
a.OnClick := MyClick;
a.Left :=Panel1.Left ;
a.Top :=Panel1.Top ;
a.Width := Panel1.Width;// 20;
a.Height:= Panel1.Height;// 30;
showmessage('aa');
a.show;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
A:TImage;
begin
if OpenPictureDialog1.Execute then
Begin
A:= TImage.Create(Self);
A.parent := Panel1;
A.Stretch:=True;
A.Picture.LoadFromFile(OpenPictureDialog1.FileName );
A.OnClick := MyClick;
A.Left := 16;
A.Top :=8 ;
A.Height := 105;
A.Width := 105;
end;
end;
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,extctrls, ExtDlgs, Buttons;type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
Img : Array of TImage;
procedure MyClick(Sender : TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
I : Integer;
begin
SetLength(Img, 11); //开辟空间 下标从0开始
for I := 1 to 10 do
Begin
Img[I]:= TImage.Create(Self);
Img[I].Parent := Panel1;
Img[I].Stretch:=True;
Img[I].Transparent := True;
Img[I].Picture.LoadFromFile('c:\a.bmp');
Img[I].OnClick := MyClick;
Img[I].Left := 5*I;
Img[I].Top :=5*I;
Img[I].Width := 20;
Img[I].Height :=10;
end;
end;procedure TForm1.MyClick(Sender: TObject);
begin
showmessage('click on dynamic image')
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
I :Integer;
begin
for I :=1 to 10 do
Img[I].Free;
end;end.
但是加一个button,在buttonclick中
写上fromcreate中的代码就能实现
什么原因呢?我的d6
就是说在FormCreate事件发生后,Img组件才能正确执行。