我把Form的BorderStyle属性设置成bsNone.请教当我打开Form时,怎样做鼠标才能拖动Form移动,(就想普通的Form一样)

解决方案 »

  1.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      oldx,oldy,isMove: integer;implementation{$R *.dfm}procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      if isMove=1 then
      begin
        left:=left+x-oldx;
        top:=top+y-oldy;
      end;end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      oldx:=x;
      oldy:=y;
      isMove:=1;
    end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      isMove:=0;
    end;end.
      

  2.   

    呵,给你点简单的,不过一定要给分呀
      private
        { Private declarations }
         procedure   wmnchittest(var   msg:twmnchittest);message   wm_nchittest;
      public
        { Public declarations }
      end;var
      Form1: TForm1;
    implementation{$R *.dfm}procedure   TForm1.wmnchittest(var   msg:twmnchittest);
      begin
      inherited;
      if   (htclient=msg.result)   then   msg.result:=htcaption;
      end;
      

  3.   

    //最小化
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    PostMessage(form1.Handle,WM_SYSCOMMAND,SC_MINIMIZE,   0);
    end;