主要功能:一幅图像,要看部分1,就将其它部分用栅格遮挡起来;
想看部分2,再将其它部分遮起来。
想看部分2,再将其它部分遮起来。
解决方案 »
- 在DELPHI下编的一个使用IdMappedPortTCP进行端口映射
- 如何设置字段属性问题?答对者高分。
- 怎样将文字输出为图像?
- 想认识几个Delphi朋友共同进步,来者有分!!!
- 交流一下,大家在切换开发调试与实际应用环境有什么经验,尤其在数据库方面.
- 为什么不可以删除、插入,却可以选择?
- 怎样知道某一天是星期几?
- 在DELPHI中调用带有日期型参数的存储过程,很急,帮帮忙!!100分送上
- dephi中的MDI窗体是该如何实现呀??
- 请问查qq状态(隐身。 在线。离线)软件的原理是什么啊?
- zdcnow(磁效应)接分!!
- 在Delphi里面如何把如TSpeedButton 做成数组。像VB里那样.这样他的事件写在一个里面就可以了。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
bitmap:Tbitmap;
begin
bitmap:=Tbitmap.Create;
try
bitmap.Width:=image1.Picture.Width;
bitmap.Height:=image1.Picture.Height;
bitmap.Canvas.Brush.Color:=$000000;
bitmap.Canvas.FillRect(bitmap.Canvas.ClipRect);
bitmap.Canvas.brush.Color:=$FFFFFF;
bitmap.Canvas.Ellipse(10,10,90,90);
//image2.Canvas.Draw(0,0,bitmap);
bitblt(image2.Canvas.Handle,0,0,image2.Width,image2.Height,bitmap.Canvas.Handle,0,0,cmSrcCopy);
image2.Canvas.CopyMode:=cmSrcAnd;
//image2.Canvas.CopyRect(image2.ClientRect,image1.Canvas,image1.ClientRect);
bitblt(image2.Canvas.Handle,0,0,image2.Width,image2.Height,image1.Canvas.Handle,0,0,cmsrcand);
image2.Refresh;
finally
bitmap.Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
bitmap:Tbitmap;
begin
bitmap:=Tbitmap.Create;
try
bitmap.Width:=image1.Picture.Width;
bitmap.Height:=image1.Picture.Height;
bitmap.Canvas.Brush.Color:=$000000;
bitmap.Canvas.FillRect(bitmap.Canvas.ClipRect);
bitmap.Canvas.brush.Color:=$FFFFFF;
bitmap.Canvas.Ellipse(150,50,240,180);
//image2.Canvas.Draw(0,0,bitmap);
bitblt(image2.Canvas.Handle,0,0,image2.Width,image2.Height,bitmap.Canvas.Handle,0,0,cmSrcCopy);
image2.Canvas.CopyMode:=cmSrcAnd;
//image2.Canvas.CopyRect(image2.ClientRect,image1.Canvas,image1.ClientRect);
bitblt(image2.Canvas.Handle,0,0,image2.Width,image2.Height,image1.Canvas.Handle,0,0,cmsrcand);
image2.Refresh;
finally
bitmap.Free;
end;
end;end.
可以的,使用API
BOOL SetCursorPos( int X, // horizontal position
int Y // vertical position
);
可以用程序设置鼠标的位置的。
TO cfqdream(软艺) ( )
谢谢,但用方向键代替鼠标的移动,还是不大会,能否具体点?