2012-07-04 54 views
2

我正在开发一个像应用程序的油漆。我想在某些情况下更改光标。那么,如何在metro应用程序中使用自定义光标?自定义光标在地铁应用程序

我发现这个

Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Custom, uint id); 

在上述方法中,存在一个为枚举“自定义”光标,第二个参数是为资源ID。那么我怎么能得到它?

回答

4

到这样做的基本路线:

创建自定义光标和使用C++地铁DLL 通过偷看在C Resource.h文件以记下自己的资源ID在.RES打包++项目 在我的项目中,资源编号是101,我没有调整。 将.res添加到CSharp XAML Metro项目 使用文本编辑器打开您的.csproj 在第一个属性组内添加一个指向您的.res文件的部分 使用函数调用您将光标切换到自定义光标通过在resource.h上查看发现的资源号。 Window.CurrentWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Custom,101); Window.CurrentWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Custom,101);

我意识到这是很多。我在我的博客上发布了详细的步骤,步骤为http://blogs.msdn.com/b/devfish/archive/2012/08/02/customcursors-in-windows-8-csharp-metro-applications.aspx。希望这可以帮助。

+0

我在2013年3月遵循了RTM位指定的指令,并且仍然为指定的ID引发了InvalidArgumentException异常。 –

+0

重要注意事项:编辑csproj文件时请不要信任自动完成功能。它会尝试使用“Win32ResourceFile”标签。这是不正确的。使用“Win32Resource”。 –