How to set the area/rectangle in which the cursor

2020-07-22 18:30发布

问题:

E.g. when you hit the side of your monitor your cursor can't go any further, and more of an example is when in microsoft paint, and your choosing a colour from the RGB table, it won't allow your mouse to go outside of the rectangle while your mouse is down..

my question is how would you implement that in c++ with win32 api?

回答1:

You can use the following function from Microsoft

BOOL WINAPI ClipCursor(
  __in_opt  const RECT *lpRect
); 

See http://msdn.microsoft.com/en-us/library/ms648383(VS.85).aspx



回答2:

Use the ClipCursor function. Simply provide the rectangle to confine the cursor to. To release the mouse (that is, to restore normal behaviour), simply pass NULL to the function instead of a pointer to a rect structure.