// 限制
procedure TForm1.Button1Click(Sender: TObject);
var
rtButton2: TRect;
begin
rtButton2 := Button2.BoundsRect;
MapWindowPoints(handle, 0, rtButton2, 2); // 座标换算
ClipCursor(@rtButton2); // 限制鼠标移动区域
end;
// 还原
procedure TForm1.Button2Click(Sender: TObject);
var
rtScreen: TRect;
begin
rtScreen := Rect(0, 0, Screen.Width, Screen.Height);
ClipCursor(@rtScreen);
end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender:Tobject);
    var
      rtButton2:TRect;
    begin
      rtButton2:=Button2.BoundsRect;
      
      MapWindowPoints(handle,0,rtButton2,2);
      
      ClipCursor(@rtButton2);
    end;procedure TForm1.Button2Click(Sender:Tobject);
    begin
      //取消鼠标移动范围的选取
      ClipCursor(0);
    end;
      

  2.   

      rtButton2 := Form2.Button1.BoundsRect;//拜托~~写Form2的不就行了?
      

  3.   

    Tikkypeng,
    你的这种方法我也想到过,也试过。不行就是不行!!!