// 锁鼠标
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;至于提醒对话使用showmessage即可,它总是TOP的。

解决方案 »

  1.   

    //鼠标锁定
    var
        MyRgn:              HRGN;
    begin
        FVRect:=Drawinfo.lines[LineIndex].Rect;
        MyRgn:=CreateRectRgn(FVRect.left,FVRect.top,FVRect.right,FVRect.bottom);
        SelectClipRgn(FCanvas.Handle,MyRgn);
    end;
    //鼠标解锁
        SelectClipRgn(FCanvas.Handle,0);
    form1.formstyle:=fsStayOnTop
      

  2.   

    // 锁鼠标
    procedure TForm1.Button1Click(Sender: TObject);
    var
     rt: TRect;
    begin
    rt:=rect(100,100,300,300);//你想要的区域
    ClipCursor(@rt); // 限制鼠标移动区域
    end;
    //鼠标解锁
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    ClipCursor(nil);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);var    rbutton:trect;begin    rbutton:=button1.BoundsRect;    mapwindowpoints(handle,0,rbutton,2);    clipcursor(@rbutton);end;