Windows 7和Windows 8进行“响铃”控制

时间:2013-09-03 13:06:18

标签: c++ winapi windows-8 windows-7

如何使用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上的忙碌光标也不是“旋转球”动画。

1 个答案:

答案 0 :(得分:1)

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

像这样:

SetCursor(LoadCursor(NULL, IDC_WAIT));

请记住,Windows会在某些情况下继续重置它 - 这可能会使它看起来无法正常工作。在你的情况下(我怀疑它)可能适合用它来回应WM_SETCURSOR

在后一种情况下(您只想以自己的方式使用光标),您可以使用DrawIcon()来自HCURSOR的{​​{1}}。