首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

移动图片,该怎么处理

2012-02-22 
移动图片我在主窗体中放了一个 ScrollBox1 还有一上Image1我想行动放在Scrollbox 中的图片,可是还是有一些

移动图片
我在主窗体中放了一个 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.

热点排行