+ -
当前位置:首页 → 问答吧 → Delphi 怎樣多次使用同一個buttom添加圖片??

Delphi 怎樣多次使用同一個buttom添加圖片??

时间:2011-10-21

来源:互联网

如題,有多個image 想要的效果是在一個按鍵中點一下添加一個圖片,再點下又添加一個..順便問下選中按delete 怎麼寫,最好有代碼..菜鳥提問....

作者: chenfack   发布时间: 2011-10-21

在一個按鍵中點一下添加一個圖片,再點下又添加一個..


这个是? 具体一点 ?


是三态么?

作者: warrially   发布时间: 2011-10-21

自定义keypress或keydown事件,然后动态将所有组件的keypress事件绑定到自定义事件中

作者: bdmh   发布时间: 2011-10-21

添加的图片是否要重叠?不要重叠,就用多个image控件,用条件语句控制

作者: xiaoyulier   发布时间: 2011-10-21

Imagelist

作者: kathylover1982   发布时间: 2011-10-21

范例如下:

Delphi(Pascal) code

implementation

{$R *.dfm}

var
  iCurrentImageIndex : Integer;//当前图片控件索引
  ImgList : TList;//Form上的图片控件列表

procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  ImgList := TList.Create;
  iCurrentImageIndex := 0;

  //收集图片控件
  for i := 0 to ComponentCount - 1 do
  begin
    if Components[i] is TImage then
      ImgList.Add(TImage(Components[i]));
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  ImgList.Free;
end;

procedure TForm1.btn1Click(Sender: TObject);
var
  i : Integer;
  img : TImage;
begin
  //循环当前索引
  if iCurrentImageIndex >= ImgList.Count then
    iCurrentImageIndex := 0;

  //当前操作Image
  img := TImage(ImgList.Items[iCurrentImageIndex]);

  //加载图片
  if dlgOpenPic1.Execute then
  begin
    img.Picture.LoadFromFile(dlgOpenPic1.FileName);
    Inc(iCurrentImageIndex);
  end;
end;

作者: shang53   发布时间: 2011-10-21