用于拖动拆分器的鼠标光标的Win32资源在哪里?
时间:2020-03-05 18:48:43 来源:igfitidea点击:
我正在构建一个自定义win32控件/小部件,并希望将鼠标悬停在控件中的特定垂直线上时将光标更改为水平的"分隔符"符号。 IE:我想向左和向右(WEST和EAST)拖动此垂直线(分隔条)。
在系统游标(OCR_ *)中,唯一有意义的游标是OCR_SIZEWE。不幸的是,这是系统在调整窗口大小时使用的笨拙的大光标。相反,我正在寻找的游标是大约20像素高,大约3或者4像素宽,并带有指向左和右的两个小箭头。
我可以轻松地绘制它并将其作为资源包含在我的应用程序中,但是游标本身如此普遍,以至于我想确保它没有丢失任何东西。
例如:当我们使用COM拖放机制(CLSID_DragDropHelper,IDropTarget等)时,我们将隐式访问"拖动"图标(指针下方的小框)。我没有看到这个家伙的显式OCR_ *常量……同样,如果我找不到该拆分器游标,我想知道它是COM对象的一部分还是win32库中的其他内容。
解决方案
回答
Windows UI中使用了各种各样的图标,光标和图像,而第三方软件未公开使用这些图标,光标和图像。当然,我们仍然可以加载它们所在的模块并使用它们,但实际上并不能保证程序在系统更新/升级后仍能继续工作。
包括你自己的。我们想要的最后一件事是在一个微小的小游标上添加一个额外的依赖项。
回答
我有这个确切的问题。当我回想起垂直拆分器的一些旧代码时,我得到了一个简单的答案,结果证明我已经构建并加载了自己的资源:
SetCursor( LoadCursor( ghInstance, "IDC_SPLITVERT" ));
我隐约记得要花费大量的时间和精力来找到实现该目标的系统方式,所以(我的猜测)是没有可立即使用的系统ICON来完成这项工作,因此最好自己动手做。
这是我想错的时候之一,因为我希望有一个工作的系统图标。