?

解决方案 »

  1.   

    use shellapivar 
    btScreen: TRect; 
    begin 
    btScreen := Rect(0, 0, Screen.Width, Screen.Height); 
    ClipCursor(@btScreen); 
    end;
      

  2.   

    var
      r: TRect;
    begin
      r := Rect(0, 0, 100, 100);
      ClipCursor(@r);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      r: TRect;
    begin
      GetWindowRect(Form1.Handle, r);
      ClipCursor(@r);
    end;
      

  4.   

    在空白窗体上放一个PANEL和两个按钮,按钮一限制,按钮二取消:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Grids, DBGrids, Db, ExtCtrls;type
      TForm1 = class(TForm)
        Panel1: TPanel;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var
      rt: Trect;
    begin
      rt :=Panel1.BoundsRect;
      MapWindowPoints(handle, 0, rt, 3);
      ClipCursor(@rt); // 限制
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    var
      rtScreen: TRect;
    begin
      rtScreen := Rect(0, 0, Screen.Width, Screen.Height);
      ClipCursor(@rtScreen);
    end;end.