How to set the area/rectangle in which the cursor is allowed to move?

半腔热情 提交于 2020-01-01 16:33:33

问题


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.



来源:https://stackoverflow.com/questions/3660709/how-to-set-the-area-rectangle-in-which-the-cursor-is-allowed-to-move

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!