在image周围画个选择框,如何取消它?(100分)

  • 主题发起人 主题发起人 lunxiao
  • 开始时间 开始时间
L

lunxiao

Unregistered / Unconfirmed
GUEST, unregistred user!
如下:
procedure TFrm_Main.Image2Click(Sender: TObject);
var
Send:TImage;
begin
Send:=Sender as TImage;
Send.Canvas.Pen.Mode:=pmNotXor;
Send.Canvas.Pen.Color:=clred;
Send.Canvas.Rectangle(0,0,Send.Picture.Width-1,Send.Picture.Height-1);
//故意 减1否则效果大不一样
end;
点击IMAGE后,在它图像周围画了个方形选择框,再点击一次则可以取消...可是我不用再点击,而是用代码,则该如何实现??
 
你在想取消的时候,运行这段代码不就可以啊?
 
Image2Click(yourImage);
 
可是是可以,,因为我要搞的不单单只有这个image,有许多,如果有些image还没有画上正方形,直接运行这段代码的画,它反而帮你画上了,我的目的就是把已经画上的取消....
 
用鼠标移出事件
 
你模拟啊扭吗
 
用代码模拟MOUSE去点击它嘛。
 
你所有的image上已经有框框了?如果只是想要这种效果的话,在上面放个Tshape就行了,不用真的画。
 
使用标志,记录每个image是不是已经画过框,如果画过才进行消除。
 
画没画,可以用tag标记一下嘛。

procedure TFrm_Main.Image2Click(Sender: TObject);
var
Send:TImage;
begin
if Send.Tag:=0 then
begin
Send:=Sender as TImage;
Send.Canvas.Pen.Mode:=pmNotXor;
Send.Canvas.Pen.Color:=clred;
Send.Canvas.Rectangle(0,0,Send.Picture.Width-1,Send.Picture.Height-1);
//故意 减1否则效果大不一样
end;
if Send.Tag=0 then
Send.Tag:=1;
else
Send.Tag:=0;
end;
 
tag已做它用了.还有什么东西可以标记的么
 
若实在没有,也只能添加一些标记到TAG去了..怎么使那个TSHAPE透明?
 
hint也可标记。

Tshape.brush.style:=bsclear;
 
在canvas 上 画line,而line可以设置为背景色一样的
我以前做别的就是这样干的 你试验看看吧
 
凌霄图像批处理专家是一款图片批处理工具,它集批量图片格式转换、批量图片修改处理、批量重命名、批量调整尺寸、批量晒图导出、创建EXE文件、创建PDF文件于一体的图片批处理系统。凌霄图像批处理专家提供将近30种图片修改处理脚本命令(如调整亮度等)供您任意组合使用!她还可以让您轻松的将任意多的图像(图片)文件生成一个EXE或PDF文件,并提供多达150种的显示效果,方便您欣赏自己的图片,并轻易实现与家人、朋友分享!她支持多达11种(BMP, JPG,PNG, EXIF, GIF, WMF,ICO, TGA, PCX,TIFF, PPM )的基本图片格式输出。如果加上与他们等价的格式,则支持的打开图片类型超过30种。而且所有这些功能,您都可以在Windows资源管理器中通过右键菜单轻松使用。
下载地址:www.flyingspace.com
 
没有必要 这个我做过给公司做游戏大厅模拟就是那样的,可以把画框前的图形复制下 当移出的时候在给上贴原来的图就还原回去了
 
delphfans说得很不错,或者使用异或。但是离题了[:D]
 
再画一次。用或
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部