在FORM中放有一个图像控件image,
如何做到:用鼠标拖动图像控件image时,FORM也跟着移动????

解决方案 »

  1.   

    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
       if (Button = mbLeft) then//按下鼠标左按钮
        begin
          ReleaseCapture;
          SendMessage(handle, WM_SYSCOMMAND, SC_MOVE or 2, 0);
        end
        else
          inherited;end;
    ========================
    楼主可以结贴了...^-^
      

  2.   

    对不起,我是用C++ BUilder的,用上面的语句不能通过,
    应该改哪儿???
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, jpeg, ExtCtrls;type
      TForm1 = class(TForm)
        Image1: TImage;
        procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      dx,dy:integer;
    implementation{$R *.dfm}procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
    mx,my:integer;
    begin
    If Shift=[ssleft] Then
    begin
    mx:=X-dx;
    my:=Y-dy;
    Form1.Left:=Form1.Left+mx;
    Form1.Top:=Form1.Top+my;
    Form1.Caption:=intToStr(X)+':'+intToStr(Y);
    end;
    end;
    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    dx:=X;
    dy:=y;
    If Shift=[ssright] Then
    close
    end;end.
    ================================
    以上测试通过.