读书人

能否使鼠标只能在一个范围内移动?解决

发布时间: 2012-03-02 14:40:28 作者: rapoo

能否使鼠标只能在一个范围内移动?
鼠标只能在一定范围内移动,最好是将光标固定在一个位置不能移动。

[解决办法]
不让移动的时候就把光标隐藏掉,需要移动时再显示出来
[解决办法]
SetCapture(Hwnd)

如果这个 Hwnd 中够小的话就相当于不能移动了

ReleaseCapture 释放

[解决办法]
2、限制Mouse的活动范围

procedure TForm1.Button1Click(Sender: TObject);
var
btButton2: TRect;
begin
btButton2 := button2.BoundsRect; // 限制在Button2的范围
MapWindowPoints(handle, 0, btButton2, 2); // 座标换算
ClipCursor(@btButton2); // 限制鼠标移动区域
end;



// 还原
procedure TForm1.Button2Click(Sender: TObject);
var
btScreen: TRect;
begin
btScreen := Rect(0, 0, Screen.Width, Screen.Height);
ClipCursor(@btScreen);
end;

http://www.cnitblog.com/mymaking/archive/2006/06/11/12034.html

[解决办法]
还原不用这样麻烦
这样:ClipCursor(nil);

读书人网 >.NET

热点推荐