如何获得当前鼠标的形状值?是IDC_HAND还是IDC_CROSS?

ttfish 2005-12-11 11:56:28
用LoadCursor可以设定鼠标形状,

用GetCursor可以获得鼠标光标的句柄,那我怎么知道这个句柄是对应IDC_HAND或是IDC_CROSS呢?
...全文
413 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cky41 2005-12-12
  • 打赏
  • 举报
回复
要获得它干嘛

一般都是用到的时候设置一种,用完了在设回来。也就是说任何时候你都知道自己所用的cursor是什么。
ttfish 2005-12-12
  • 打赏
  • 举报
回复
Atomictry(天影 -- 哈哈哈哈,日子没法过了):
你的这个方法应该是可以的,我用delphi做了一下,是可以用的,我直接用的loadcursor(IDC_HAND)。
光标句柄是固定的?
Atomictry 2005-12-12
  • 打赏
  • 举报
回复
typedef struct {
DWORD cbSize;
DWORD flags;
HCURSOR hCursor;
POINT ptScreenPos;
} CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
GetCursorInfo 这个函数:
需要Windows 98, Windows NT 4.0 SP6,而且其中没有光标ID信息。

如果真想知道当前是什么光标,可以这么做:
HCURSOR hcur = GetCursor();
HCURSOR harrow = AfxGetApp()->LoadStandardCursor(IDC_ARROW);
if(hcur == harrow)
{
// 光标是IDC_ARROW
}
else if // 其他的光标
{
}
sirguan 2005-12-12
  • 打赏
  • 举报
回复
没有办法,据我所知。sdk里面和cursor相关的函数不多,getcursorpos 和 getcursorinfo是我见过的仅有的两个获取cursor信息的函数。这些都没有提供或者间接提供你想要的功能。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧