那位人雄知道
1.获得屏幕的尺寸
2.form上有一个panel,我想实现鼠标点在panel上也可以移动窗体,鼠标在form上我已经实现了

解决方案 »

  1.   


    1.Screen.Width;Screen.Height;2.在Panel控件的OnMouseMove事件中加入如下两句:
      ReleaseCapture;
      Perform(WM_SYSCOMMAND, $F012, 0);搞定,收工!!
      

  2.   


    1.Screen.Width;Screen.Height;2.在Panel控件的OnMouseMove事件中加入如下两句:
      ReleaseCapture;
      Perform(WM_SYSCOMMAND, $F012, 0);搞定,收工!!
      

  3.   

    1: screen.width;  screen.height;
    2:   procedure TForm1.panel1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    begin
        ReleaseCapture;
        form1.panel1.Perform(WM_SYSCOMMAND, $F012, 0);
    end;祝:身体健康,答案和分数同样重要地:)!!!
      

  4.   

    移动窗口:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, AppEvnts, ExtCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Panel1: TPanel;
        procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure FormCreate(Sender: TObject);
        procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      private
        { Private declarations }
        lastX,lastY,dx,dy:cardinal;
        startDrag:boolean;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      lastx:=Mouse.CursorPos.x;
      lasty:=Mouse.CursorPos.Y;
      dx:=lastx-form1.Left;
      dy:=lasty-form1.Top;
      startDrag:=true;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      startDrag:=false;
    end;procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      if startDrag then
      begin
        form1.Left:=Mouse.CursorPos.x-dx;
        form1.Top:=Mouse.CursorPos.Y-dy;
      end;
    end;procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      startDrag:=false;
    end;end.
      

  5.   

    xzhifei(飞) 和 ghyghost(著名关心CSDN结贴率爱国主义人士代表的代码是移动控件。
      

  6.   

    当你在panel上drag事件
    发消息让系统以为点在title上
      

  7.   

    procedure TForm1.SeSkinPanel2MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    //记录全屏图标的初始位置
    begin
      posx:= X;
      posy:= Y;
    end;procedure TForm1.SeSkinPanel2MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    //处理窗体移动
    begin
      if ssLeft in shift then
        begin
          SeSkinPanel2.Left:= SeSkinPanel2.Left+X-posx;
          SeSkinPanel2.Top:= SeSkinPanel2.Top+Y-posy;
        end;
    end;