2012-07-04 49 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」。 –