Я хочу установить пользовательский курсор в моем приложении WPF. Первоначально у меня был файл .png, который я преобразовал в .ico, но поскольку я не нашел способа установить файл .ico в качестве курсора в WPF, я попытался сделать это с помощью правильного файла .cur.WPF и пользовательские курсоры
Я создал такой .cur файл, используя Visual Studio 2013 (Новый элемент -> Файл курсора). Курсор представляет собой цветное 24-битное изображение, а его тип сборки - «Ресурс».
Я accquire потока ресурсов с этим:
var myCur = Application.GetResourceStream(new Uri("pack://application:,,,/mycur.cur")).Stream;
Этот код может получить поток, так myCur
является НЕ нулевого aferwards.
При попытке создать курсор с
var cursor = new System.Windows.Input.Cursor(myCur);
курсора по умолчанию Cursors.None
возвращается и не мой пользовательский курсор. Так что, похоже, проблема в этом.
Может ли кто-нибудь сказать мне, почему у устройства возникают проблемы с потоком курсора? Файл был создан с использованием VS2013, поэтому я предполагаю, что файл .cur правильно отформатирован. Альтернативно: если кто-то знает, как загрузить файл .ico в качестве курсора в WPF, я был бы очень доволен и очень благодарен.
EDIT: просто попробовал то же самое со свежим новым .cur-файлом от VS2013 (8bpp) в случае, если новая палитра прикрутила формат изображения. Тот же результат. Обработчик System.Windows.Input.Cursor
даже не может создать правильный курсор из «свежего» файла курсора.
Я буду проклят, работает как шарм. И я _did_ делаю какой-то поиск в google, не знаю, почему я не ударил эту ссылку, которую вы опубликовали:/Thanks alot - принятый ответ. – PuerNoctis
обертка результата CreateIconIndirect приведет к исключению, когда SafeFileHandle GC'ed - см. Http://stackoverflow.com/questions/9218029/safefilehandle-close-throws-an-exception-but-the-handle-is- действительная и-работа – user3391859