我在FORM里面放了两个IMAGE(默认图片1)。需要实现以下功能:
鼠标按下左键,拖动鼠标,框选中这两个IMAGE,鼠标左键松开后,两个IMAGE的图片1换成图片2好久没碰delphi了,谢谢各位大侠。
鼠标按下左键,拖动鼠标,框选中这两个IMAGE,鼠标左键松开后,两个IMAGE的图片1换成图片2好久没碰delphi了,谢谢各位大侠。
解决方案 »
- PC-PC控制代码
- 函数或者过程使用不同窗体的控件问题?
- 救命呀!关于图片问题!高手请快来……
- 如何获取当前日期以前的日期最近的记录,如果不存在则获取当前日期以后的日期最近的记录(急急急,送高分)?
- 来吧,一起创业吧!!!
- aiirii(ari-爱的眼睛),请进来领分!-2
- 有否办法知道查询来的某条记录在数据库整个表中的第几条?
- Combobox控件的一个罕见怪问题,望高手解答!!!
- 急需有关串行口COM1,COM2的控件
- 使用Shelltreeview的一个问题
- 求一个DELPHI 三层的示例,要共享一个DATASETPROVIDER的
- delphi fastreport报表在客户端机上不显示
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls;type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
Oldx,Oldy,Newx,Newy:Integer;
FDown:Boolean;
procedure ChangePic;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDown := True;
Oldx := X;
Oldy := Y;
Newx := X;
Newy := Y;
end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if FDown then
begin
ChangePic;
FDown := False;
end;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if FDown then
begin
Newx:= X;
Newy := Y;
Self.Invalidate;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Self.DoubleBuffered := True;
end;procedure TForm1.FormPaint(Sender: TObject);
begin
SElf.Canvas.Pen.Color := clRed;
Self.Canvas.Rectangle(Oldx,Oldy,Newx,Newy);
end;procedure TForm1.ChangePic;
var
pic : TPicture;
begin
pic := TPicture.Create;
pic.Assign(Image1.Picture);
Image1.Picture.Assign(Image2.Picture);
Image2.Picture.Assign(pic);
end;end.
ChangePic;
FDown := False;不过话说LZ的这功能,我没见过这样变换图片的,不太符合常规习惯操作