Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > [VC#] Как использовать *.cur файлы в проекте


Автор: MuForum 1.9.2008, 20:05
Доброе время суток!
- Сегодня столкнулся со следующей проблемой: Мне необходимо было загрузить файл курсора формата '*.cur' в ресурсы проекта и уже в дальнейшем использовать данный курсор.
- Немного покопавшись, я толком ничего не нашел, не на 'VPF'(к сожалению), не в 'google', затем обратился к 'Marcus', который мне охотно помог, дав ссылку на http://mahesg.wordpress.com/2008/02/09/embedding-cursor/, где описывалась данная проблема. Немного покумеков получилось следующее.

# Решение проблемы:
1. Загружаем файл '*.cur' в ресурсы.
- Project -> Properties... -> вкладка 'Resources' -> Выбираем вкладку 'Files' -> Add Resources -> Add Existing File... -> выбираем файл -> Ok.
2. Изменяем статус изображения курсора.
- Solution Explorer -> папка 'Resources' -> Нажимаем левым одиночным кликом мыши на наш '*.cur' файл -> Properties (Окошко ниже) -> меняем значение параметра 'Build Action' с 'None' на 'Embedded Resource'.
3. Используем отдельный класс для получения курсора.
Код

using System; // string;
using System.IO; // Stream;
using System.Reflection; // Assembly;
using System.Windows.Forms; // Cursor;
// ----------------------------------------------------------------------
namespace UCIP
{
    public static class TCursor
    {
        public static Cursor GetCursor(string CursorName) // Имя файла с ресурсов.
        {
            Cursor cursor = null;
            try
            {
                Assembly asm = Assembly.GetExecutingAssembly();
                using (Stream resStream = asm.GetManifestResourceStream(asm.GetName().Name + ".Resources." + CursorName))
                {
                    cursor = new Cursor(resStream);
                }
            }
            catch (Exception) { cursor = null; }
            // ----
            return cursor;
        }
        // ----------------------------------------------------------------------

    }
}



P.S. -> Если кто-то может что-то ещё улучшить, оптимизировать - милости просим ;)

Автор: marcusmae 1.9.2008, 20:22
Цитата(MuForum @  1.9.2008,  20:05 Найти цитируемый пост)
обратился к 'Marcus'

smile мда, Маркус - просто какой-то ОРАКУЛ smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)