2

如何使用 WinApi 创建本机“进度环”控件?

除了 Windows 8 现代 UI 应用程序的“ProgressRing”类之外,我在 MSDN 上找不到任何东西。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.progressring

我希望能够从 Windows 8 上的纯 win32 应用程序中使用它并让它绘制“旋转球”。但在 Windows 7 上,它应该是“蓝色圆圈”。我知道对于 Windows 7,蓝色图标是可以呈现的默认鼠标忙碌光标。对于 Windows 8,我找不到它使用的实际资源。

更新:我想将它绘制到窗口上而不是将其设置为鼠标光标,我应该澄清这一点 - 即使 Windows 8 上的忙碌光标不是“旋转球”动画。

4

1 回答 1

1

您只需LoadCursor()使用相应的光标调用并将结果传递给SetCursor()(如果您想将其设置为光标) - 或将其用于您自己的方式。在前一种情况下,这IDC_WAIT是你想要的。

像这样:

SetCursor(LoadCursor(NULL, IDC_WAIT));

请记住,Windows 会在某些情况下不断重置它——这可能使它看起来不起作用。在您的情况下(尽管我对此表示怀疑)使用它来响应WM_SETCURSOR.

在后一种情况下(您只想将光标用于自己的方式),您可以使用DrawIcon()从.HCURSORLoadCursor()

于 2013-09-03T14:32:24.380 回答