移动图片
我在主窗体中放了一个 ScrollBox1 还有一上Image1
我想行动放在Scrollbox 中的图片,
可是还是有一些问题不能完成我想要的
如果是移动的话,是自己写过程呢还是用控件的事件好呢,如果是自己写那么应该怎么写呢,
请大哥大姐介绍一下先谢了
[解决办法]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
Image1: TImage;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
OldPt:TPoint;
implementation
{$R *.dfm}
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
OldPt.X := x;
OldPt.y := Y;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
mx,my: integer;
begin
if ssleft in shift then
begin
ScrollBox1.Update;
mx := x - oldpt.x;
my := y - oldpt.Y;
Image1.Left := Image1.Left + mx;
Image1.Top := Image1.Top + my;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ScrollBox1.DoubleBuffered := true; //开双缓冲 防止图片移动时闪烁
end;
end.