首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-03-02 
能否使鼠标只能在一个范围内移动?鼠标只能在一定范围内移动,最好是将光标固定在一个位置不能移动。[解决办

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

[解决办法]
不让移动的时候就把光标隐藏掉,需要移动时再显示出来
[解决办法]
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);

热点排行