我在主窗体中放了一个 ScrollBox1 还有一上Image1 
我想行动放在Scrollbox 中的图片,可是还是有一些问题不能完成我想要的如果是移动的话,是自己写过程呢还是用控件的事件好呢,如果是自己写那么应该怎么写呢,请大哥大姐介绍一下先谢了

解决方案 »

  1.   

    unit Unit1;interfaceuses
      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.