关于imagelist和image的菜鸟问题!100分!(100分)

  • 主题发起人 主题发起人 dfanchina
  • 开始时间 开始时间
D

dfanchina

Unregistered / Unconfirmed
GUEST, unregistred user!
imagelist1中有两幅图:check.bmp,uncheck.bmp,当点击image1时,把imagelist1中
的check.bmp显示到image1上,再次点击时,把uncheck.bmp显示到image1上,第三次点
击时,把check.bmp显示到image1上。
这样的效果具体应该怎么做?最好有代码!
 
imagelist1.getbitmap...
 
//定义全局变量Checked
procedure TForm1.Image1Click(Sender: TObject);
var
img: TBitMap;
begin
img := TBitMap.Create;
if Checked then
begin
ImageList1.GetBitmap(1,Img) //UnChecked
Checked := False;
end else
begin
ImageList1.GetBitmap(0,Img) //Checked
Checked := True;
end;
Image1.Picture.Assign(Img);
Img.Free;
end;
 
var
i :Integer;

procedure TForm1.Image1Click(Sender: TObject);
begin
if i <>0 then
begin
ImageList1.GetBitmap(i,Image1.Picture.Bitmap);
i :=0;
end
else
begin
ImageList1.GetBitmap(i,Image1.Picture.Bitmap);
i :=1;
end;
Image1.Invalidate;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
i :=0;
end;
 
ImageList1.Draw(image1.Canvas,0,0,1 ,true);
第四个参数是ImageList1中图片的索引号。
此处是1,若设为0,即显示图片check.bmp。

先定义全局变量 checked:boolean=true;
procedure TForm1.Image3Click(Sender: TObject);
begin
if checked then
begin
ImageList1.Draw(image1.Canvas,0,0,0 ,true);
checked:=false;
end
else
begin
ImageList1.Draw(image1.Canvas,0,0,1 ,true);
checked:=true;
end;
Image1.Invalidate;
end;
 
还有没有人回答??如果没人就要截贴了!
 
各位的方法我都试过了,都可以实现所要求的效果,
其中dfan2000的方法对图片的显示效果最好。
谢谢大家!!
 
多人接受答案了。
 

Similar threads

回复
0
查看
804
不得闲
D
回复
0
查看
909
DelphiTeacher的专栏
D
D
回复
0
查看
704
DelphiTeacher的专栏
D
D
回复
0
查看
666
DelphiTeacher的专栏
D
后退
顶部