Софт-Портал

курсор иконка

Рейтинг: 4.9/5.0 (439 проголосовавших)

Категория: Windows

Описание

Иконки и курсоры

Иконки и курсоры / Основы программирования с помощью библиотеки MFC / Visual C++ Иконки и курсоры

Иконки и курсоры являются ресурсами и обычно хранятся в области ресурсов исполняемого файла. В этой главе мы рассмотрим способ установки для окна собственных иконки и курсора, который годится для динамического изменения этих элементов, когда окно уже отображено на экране. Кроме того, мы рассмотрим, как сделать диалог главным окном программы. Это очень удобно для небольших утилит. Изменять иконку и курсор для диалога труднее, чем для обычного окна. Но мы рассмотрим именно универсальный метод, который годится для всех окон. Вам рекомендуется использовать в своих программах именно этот метод.

Создание иконки и курсора

Для создания иконки и курсора нужно использовать ресурсный редактор. Иконки сохраняются в файлах с расширением ico, а курсоры - в файлах с расширением cur.

Все курсоры имеют размер 32x32. Обычно используются монохромные курсоры. Каждый курсор имеет так называемую горячую точку, по которой определяется положение курсора на экране. Она может располагаться в любом месте курсора. Для курсоров типа "указатель" это обычно вершина указателя.

Иконки могут иметь размер 16х16, 32х32 и 48х48. Последний размер обычно не используется. Иконки могут иметь 16 или 256 цветов. При использовании ресурсного редактора среды Visual C++ 4.0 и выше иконки всех размеров можно хранить в одном файле, что обычно и делается. Для современных приложений обязательно наличие иконок размером как 16х16, так и 32х32.

Загрузка иконки и курсора из ресурсов

К сожалению, на текущий момент MFC плохо поддерживает этот процесс. Поэтому иногда удобнее пользоваться функциями Windows API. Перед рассмотрением функций следует рассмотреть понятие дескриптора. Дескриптор - это 32-разрядное беззнаковое целое значение, которое идентифицирует объект в Windows. При традиционном SDK-программировании дескрипторы используются очень широко. Например, свои дескрипторы имеют иконки, курсоры и само приложение. Для дескрипторов каждого объекта существует свой тип, например, HICON, HCURSOR, HINSTANCE.

Следующее понятие, которое нам нужно рассмотреть, это класс окна. Класс окна - это структура данных в Windows, которая определяет атрибуты окна. Перед тем, как создать реальное окно, приложение регистрирует класс окна, а затем на его основании может быть создано сколько угодно окон. Обычно MFC полностью автоматизирует этот процесс. Но так как такие параметры окна, как иконка и курсор, определяются именно в классе окна, то нам придется их изменять явно.

Будем предполагать, что в декларации класса основного окна (теперь уже идет речь о классе С++) объявлены переменные m_hIconSmall, m_hIconBig, m_hCursor - соответственно дескрипторы иконки 16х16, иконки 32х32 и курсора. Тогда для загрузки иконок и курсора нужно выполнить следующий код: Сначала мы получаем дескриптор модуля с помощью глобальной функции MFC AfxGetInstanceHandle(). Затем мы загружаем маленькую и большую иконки с помощью функции Windows API LoadImage(), и получаем их дескрипторы. Эта функция очень мощная, и позволяет загружать изображения из ресурсов и из файлов. И наконец, мы загружаем курсор уже с помощью функции MFC LoadCursor(), члена класса CWinApp. Функция AfxGetApp() возвращает адрес объекта приложения.

Изменение иконки и курсора окна

После того, как мы получили дескрипторы иконок и курсора, нужно изменить класс окна. (Класс окна нужно изменять для установки курсора, а для установки иконок подойдут и функции MFC.) Для этого используется API-функция SetClassLong(), которая изменяет атрибут класса окна (здесь опять имеется в виду структура данных). Первый параметр этой функции - дескриптор окна. Дескриптор окна хранится в члене класса MFC CWnd под названием m_hWnd. Если главным окном приложения является диалог, то для изменения иконки и курсора потребуется следующий код (он будет работоспособен и для обычных окон): Сначала мы модифицируем курсор в оконном классе самого окна. Затем мы то же самое проделываем со всеми элементами управления, которые есть или могут быть в диалоговом окне (если их нет в окне, то ничего страшного не произойдет). Мы перебираем все возможные идентификаторы, и если элемент присутствует, изменяем его оконный класс. И наконец, мы изменяем большую и маленькую иконки. Здесь уже есть хорошая поддержка со стороны MFC.

Использование диалога в качестве главного окна

Как уже говорилось, это часто бывает очень удобным. Сделать это достаточно просто. Во-первых, нужно создать диалог в ресурсах. Во-вторых, нужно класс главного окна приложения породить от CDialog. Перед конструктором класса главного окна нужно вызвать конструктор класса CDialog, где привязать объект к ресурсам, например: И в-третьих, в функции CApp::InitInstance() должен присутствовать следующий код: Мы отображаем модальный диалог. Так как при завершении функции DoModal() нам уже не нужна очередь сообщений, мы "обманываем" MFC, делая вид, что инициализация прошла неудачно. На самом же деле просто уже пора завершать приложение.

Пример программы

Рис. 14. Использование собственных иконки и курсора в диалоге


Поэкспериментируйте с программой. Попробуйте отключить цикл, который модифицирует класс окна для элементов управления, и посмотрите, что из этого получится. Измените программу так, чтобы главным окном было обычное окно-рамка, как в предыдущих примерах.

Стандартные иконки и курсоры

Часто в программах нужно использовать курсоры и иконки, уже предопределенные в Windows. Для этого можно использовать или функцию API LoadImage(), или функции MFC LoadStandardIcon() и LoadStandardCursor(). Работа со стандартными курсорами и иконками почти ничем не отличается от работы с пользовательскими. Для стандартных иконок есть предопределенные идентификаторы с префиксом IDI_, а для стандартных курсоров - с префиксом IDC_. Например, стандартный курсор в виде "песочных часов" имеет идентификатор IDC_WAIT.

курсор иконка:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Обзор программы

    Обзор программы Типы ресурсов

    Ресурсы в любом 32-битном исполняемом файле Windows 95/98/ME/NT/2000 (включая EXE, DLL, SCR, OCX и CPL) можно просмотреть, выбрав Файл→Открыть из главного меню Resource Hacker™. DLL-подобные файлы, такие как AX (ActiveMovie Proxy), FLT (Graphic Import Filter), HPA (Hewlett-Packard Printer Applet), PCI (Peripheral Component Interconnect), TSP (Microsoft Remote Service Provider) и VWP (Voxware MetaVoice Plug-In) можно также просмотреть. Полный список ресурсов файла будет отображаться в виде древовидной структуры. Дерево ресурсов может быть полностью развёрнуто или свёрнуто выбором пункта меню Вид→Развернуть всё или Вид→Свернуть всё соответственно.

    Элементы ресурсов определяются его типом, именем и идентификатором языка.

    Ресурсы сгруппированы в типах ресурсов. Существует несколько предопределённых типов ресурсов (icon, cursor, bitmap, dialog, menu, rcdata и т.д.), но программист также может задать другие типы ресурсов.

    Элементы ресурсов находятся в пределах их соответствующих типов ресурсов и имеют имя ресурса. которое уникально в пределах этого типа. Это имя обычно либо целое число, либо текстовая строка; однако, некоторые типы ресурсов (например "String Table") позволяют только целые числа для имён.

    Каждый именованный ресурс может иметь более одного определяемого языком элемента, что позволяет программе иметь несколько языков. Под каждым именем ресурса в дереве ресурсов находится хотя бы один элемент языкового ресурса. Идентификатор языка является текстовым значением целого числа сделанным из первичного (6 младших битов) и вторичного (10 старших битов) идентификаторов языка, который определяется Windows (если элемент языка нейтральный, то это значение равно 0).

    Курсор и иконки

    Курсоры и иконки требуют особого упоминания, так как информация их ресурса разделена между двумя типами ресурсов: "Cursor" & "Cursor Group"; и "Icon" & "Icon Group" соответственно.

    Каждая иконка (или курсор) имеет несколько изображений (то есть группы связанных изображений иконок): 16x16 пиксель (16 цветов), 32x32 пиксель (16 цветов), 16x16 пиксель (256 цветов), и т.д. Изображение, которое фактически используется операционной системой зависит от затребованного размера (маленькая или большая иконка) и установленной глубины цвета монитора. Тип ресурса "Icon Group" содержит заголовочную информацию иконки - собственное имя изображения, а также его размер и глубину цвета. Однако фактически изображение хранится в типе ресурса "Icon".

    например: Icon = LOADICON(hInstance, ‘#102’)

    Эта функция Windows API сначала находит заголовочную информацию для "Icon Group" ID 102. Затем, если более одной иконки перечислено в заголовочной информации, операционная система выбирает наилучшее изображение в списке.

    Важно понимать, что при замене файловой иконки (или курсора) иконка целиком заменяется с заголовочной информацией (в "Icon Group") и всеми её собственными иконками (в "Icon").

    Однако, оба варианта: одиночные иконки, и группы иконок могут быть извлечены из ресурса в файл-иконку (*.ico): если в дереве ресурсов выбран ресурс в типе "Icon", то иконка будет сохранена как одиночная. Если же выбран ресурс в типе "Icon Group", то все иконки, принадлежащие выбранному ресурсу будут сохранены в файл иконки.

    Просмотр ресурсов

    Просто выберите ресурс из дерева ресурсов (если файл был открыт). Ресурс будет отображаться в виде:

    Комбинация декомпилированного текста и скомпилированной формы для предпросмотра

    Данные в сыром виде (шестнадцатеричный слева и ASCII текст справа)

    Примечание: Программы, скомпилированные с помощью Borland VCL (к примеру, многие программы на Delphi) обычно не имеют ресурсов Dialog, Menu или Accelerator, но хранят эту информацию в "RCData".

    Извлечение (сохранение) ресурсов

    Ресурсы иконки, рисунки, курсоры, меню, диалоги, таблицы строк, таблицы сообщений, быстрые клавиши, формы Borland и информация о версии могут быть все сохранены в файл в их собственном формате, будь то изображение или в виде текстовых файлов ресурса (*.rc). Сначала выбираем ресурс в дереве, затем в меню выбираем Действие→Сохранить [Имя ресурса]. Чтобы сохранить ресурс в скомпилированный файл ресурсов (*.res): выберите в меню Действие→Сохранить ресурс как *.res файл. Чтобы сохранить одиночный ресурс как бинарный файл: выберите в меню Действие→Сохранить ресурс как бинарный файл.

    Чтобы сохранить в файл все ресурсы определенного типа, выберите тип в дереве и затем выберите в меню Действие→Сохранить [ Тип ресурса ] ресурс.

    Чтобы сохранить все ресурсы в файл, выберите в меню Действие→Сохранить все ресурсы. Ресурсы, которые не могут быть декомпилированы в текстовое представление ресурсов (как например изображения) будут преобразованы в свои собственные файловые форматы и сохранены в той же папке, что и текстовое представление ресурсов (например Cursor_1.cur, Cursor_2.cur, Bitmap_1.bmp, Icon_1.ico). Ресурсы с неопознанными форматами данных будут сохранены как *.bin файлы.

    Модифицирование (замена) ресурсов

    Во-первых, предупреждение или даже два:

    Если вы собираетесь модифицировать ресурсы, то сначала сделайте резервную копию оригинального файла. В дальнейшем, тщательно проверяйте исправность нового файла. Чтобы облегчить эту операцию, всякий раз, когда файл изменен и сохранен, Resource Hacker™ будет автоматически делать резервную копию исходного файла (например в Explorer_original.exe) перед тем как сохранить.

    В ресурсах Dialog и Menu, удаление элементов управления или изменение их идентификаторов, скорее всего, будет приводить к краху программы. Однако изменение надписей элемента управления, обычно безопасная операция, также как и изменение координат его расположения, размера и стилей отображения. Добавление нового элемента управления вряд ли вызовет проблемы. Переименование ресурсов также может привести к краху программы.

    Использование встроенного редактора для изменения текстовых ресурсов:

    Ресурсы диалоги, меню, таблицы строк, таблицы сообщений, быстрые клавиши и формы Borland могут быть легко отредактированы и перекомпилированы с помощью встроенного редактора ресурсов. Внутренний компилятор поддерживает метасимволы - \t. \n. \\. \" и \000. \377 - в строках ресурсов, представляющих собой табуляцию, новую строку, обратный слеш, двойные кавычки и восьмеричный байт-код соответственно. Конструкция #define также поддерживается. Просто отредактируйте отображаемый текстовый ресурс, и нажмите кнопку Компилировать. Модифицированный скомпилированный ресурс будет отображён. Любые ошибки, возникающие во время компиляции будут выводится в консоль.

    Элементы управления ресурса Dialog могут быть изменены в размере и/или перемещены, и это автоматически сопровождается изменениями в текстовом представлении ресурса. Преобразование между пикселями экрана и единицами измерения диалога будет сделано автоматически.

    Выберите элемент управления кликом на нём в отображаемом макете этого диалога. Кроме того, могут быть использованы клавиши Tab или Shift-Tab для выбора следующего или предыдущего элемента управления соответственно. Выбранный элемент управления будет обозначен маркерами изменения размера.

    Чтобы переместить элемент управления без изменения размера, выберите его кликом мыши и перетащите в новое расположение. Клавиши со стрелками также можно использовать для перемещения элемента управления, когда он был выбран.

    Элемент управления может быть изменен в размере путем нажатия и перетаскивания одного из его маркеров изменения размера. Кроме того, клавиши со стрелками с удерживаемой нажатой клавишей Shift могут быть использованы для изменения размера элемента управления.

    Клавиша Escape ( Esc ) скрывает отображаемый макет диалогового окна.

    Если элемент управления не может быть выбран кликом, то он, вероятно, перекрывается другим элементом управления. Элементы управления, которые объявлены в текстовом представлении ресурса ниже других элементов управления, на самом деле создаются в диалоговом окне выше своих предшественников (в порядке объявления в ресурсе) если на плоскости диалогового окна их расположения совпадают. Чтобы переместить или изменить размер перекрываемого элемента управления, нужно переместить или уменьшить размер перекрывающего элемента или изменить порядок объявления элементов управления в текстовом представлении ресурса. Редактор элемента управления (Control Editor) (см. ниже) также может быть использован для лёгкого изменения очерёдности следования элементов управления (см. поле "Z-порядок").

    Редактор диалога может быть открыт из контекстного меню, появляющееся при клике правой кнопки мыши на элементе макета диалога. Редактор элемента управления (Control Editor) может быть открыт из того же контекстного меню.

    Также могут быть добавлены новые элементы управления. Редактор элемента управления поддерживает практически все стандартные (Microsoft) и распространенные классы элементов. Пользовательские классы также могут быть добавлены во встроенный список классов, путём аккуратной правки текстового файла "Dialog.def", который находится в той же папке что и Resource Hacker™. Кнопки панели инструментов позволяют выбрать наиболее часто используемые элементы управления. Координаты левого верхнего угла элемента управления будут заполнены автоматически и эти значения будут соответствовать координатам, в которых было вызвано контекстное меню правой кнопкой мыши, чтобы открыть это диалоговое окно.

    Если заменяемый ресурс является иконка, курсор или рисунок, источником могут быть файлы *.ico, *.cur или *.bmp соответственно, или выберите ресурсы из *.res или другого *.exe файла. Выберите в меню Действие→Заменить иконку (курсор / рисунок).

    Замена ресурсов отличных от изображений:

    Ресурсы отличные от изображений также могут быть заменены. Заменяемые ресурсы должны быть не только того же типа, но и с таким же именем ресурса. Выберите в меню Действие→Заменить другой ресурс.

    Примечание: Так как *.res файлы могут содержать множество ресурсов, то в диалоге добавления и замены ресурса отображается дерево ресурсов, так чтобы можно было выбрать конкретный ресурс в *.res файле. При добавлении или замене ресурсов из других типов файлов (не *.res), тип и имя ресурса должны быть введены вручную. Если поле "Язык ресурса" останется незаполненным, то предполагается нейтральный язык (0).

    Обновление всех ресурсов ресурсами из *.res файла:

    Также ресурсы могут быть заменены всеми совпадающими ресурсами, находящимися во внешнем *.res файле. Ресурс исходного файла (exe, dll) будет заменён ресурсом из внешнего *.res файла, только если он имеет такой же ресурс (тип, имя, язык). Выберите в меню Действие→Обновить все ресурсы.

    После всех проделанных модификаций файл можно сохранить, выбрав в меню Файл→Сохранить как .

    Добавление ресурсов

    Ресурс можно добавить в исполняемый файл, только если в нём нет ресурса с тем же типом, именем, языком. Выберите в меню Действие→Добавить новый ресурс.

    Добавление ресурсов позволяет программе поддерживать несколько языков .
    (Примечание: Windows 95/98 не использует несколько языковых ресурсов, эта особенность WindowsNT. Я предполагаю, что Windows98 просто выбирает первый ресурс, если имеется более одного языкового ресурса.)

    В качестве примера:
    * Задача: Добавить французский перевод Dialog 30757 в Samples.dll.
    * Решение:
    1. Откройте Samples.dll и выберите Dialog 30757.
    Язык этого ресурса в данный момент LANG_NEUTRAL, SUBLANG_NEUTRAL.
    Примечание: Если перевод не является западным языком (например русский, китайский и т.д.), то шрифт встроенного редактора необходимо изменить для поддержки этого языка.
    2. В текстовом представлении ресурса, измените значение поля языка (напротив LANGUAGE) на LANG_FRENCH, SUBLANG_FRENCH (кстати, Изменить язык [. ] имеет тот же эффект), и переведите текст поля заголовка (напротив CAPTION) и каждый элемент управления (напротив CONTROL) на французский язык. Нажмите кнопку Компилировать .

    3. Сохраните ресурс в *.res файл (например "30757_french.res").
    4. Закройте Samples.dll без сохранения и откройте его снова.
    Dialog 30757 все ещё будет LANG_NEUTRAL, SUBLANG_NEUTRAL.
    5. Выберите в меню Действие→Добавить новый ресурс и откройте файл "30757_french.res", который только что был создан.
    6. Выберите Dialog 30757, который теперь имеет идентификатор языка 1036 (французский) и нажмите кнопку Добавить ресурс .
    7. И наконец сохраните Samples.dll. Вуаля!

    Подсказка: Изменение шрифта редактора Resource Hacker™ важно при просмотре или модификации ресурсов компилируемых в незападных языках (Выберите в меню Вид→Шрифт редактора. ).

    Добавление иконок или рисунков (например логотип компании и т.п.) позволяет им быть отображёнными в диалоговых окнах программы.

    В качестве примера:
    * Задача: Добавить иконку в стандартное диалоговое окно "Открыть файл".
    * Решение:

    1. Откройте "C:\Windows\System\ComDlg32.dll".
    (Ресурс диалога "Открыть файл" размещается в выше указанной DLL с именем ресурса 1547.)
    2. Тип ‘Icon Group’ интересует тем, чтобы убедится, что имя добавляемой иконки в ‘Icon Group’ ещё не используется. В ComDlg32.dll имена иконок в диапазоне 528. 539, таким образом может использоваться любое другое целое число или строка из букв и цифр. (Не беспокойтесь об именах ресурсов, используемых в типе ‘Icon’, так как Resource Hacker™ обеспечит иконки уникальными именами.)

    3. Добавьте иконку в dll, выбрав в меню Действие→Добавить новый ресурс. В диалоговом окне добавления ресурса, откройте файл, который содержит новую иконку и дайте иконке уникальное имя (например NEWICON).
    4. В дереве ресурсов выберите Dialog, имя 1547. Предполагая, что новая иконка с именем "NEWICON", добавьте следующий элемент управления в конце списка элементов управления в текстовом представлении ресурса:

    CONTROL "NEWICON",-1,STATIC, SS_ICON|WS_CHILD|WS_VISIBLE,13,142,21,20

    5. Скомпилируйте изменения и сохраните файл как ComDlgXX.dll.
    6. Системный файл ComDlg32.dll не может быть заменён в работающей Windows; его можно заменить только в режиме DOS. Вы можете сделать это вручную следующим образом:
    7. Перезагрузите Windows и загрузите в режиме MS-DOS.
    8. Используйте команды DOS, чтобы переименовать старый ComDlg32.dll к примеру в ComDlg98.dll и далее переименуйте вновь созданный файл в ComDlg32.dll.
    9. Перезагрузите компьютер в Windows. На этом всё. (Конечно, добавление рисунка (bitmap) вместо иконки вызвало бы меньше замешательств, поскольку нет "Bitmap Group" для рисунков.)

    Кроме того, вы можете сделать замену файла следующим образом:
    7. Создайте в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager мультистроковый (REG_MULTI_SZ) параметр PendingFileRenameOperations и присвойте ему значение из 4-х строк:

    \??\ C:\Windows\System32\ComDlg32.dll
    ! \??\ C:\Windows\System32\ComDlg98.dll
    \??\ C:\Windows\System32\ComDlgXX.dll
    ! \??\ C:\Windows\System32\ComDlg32.dll


    Формат этой записи следующий:

    \??\ путь1_к_файлу_до_переименования
    ! \??\ путь1_к_файлу_после_переименования
    \??\ путь2_к_файлу_до_переименования
    ! \??\ путь2_к_файлу_после_переименования
    \??\ путь3_к_файлу_для_удаления


    Windows автоматически обработает эту информацию и удалит этот параметр из реестра. Как вы заметили, в выше указанном примере показан формат удаления файла при загрузке, где вместо нового имени файла пустая строка. Так как в текстовом режиме пустые строки удаляются, то откройте параметр из контекстного меню, выбрав "Изменить двоичные данные" и введите 00 00 в области шестнадцатеричных данных.

    Вот пример готового reg-файла.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
    "PendingFileRenameOperations" = hex(7):5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,00,\
    57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,65,\
    00,6d,00,33,00,32,00,5c,00,43,00,6f,00,6d,00,44,00,6c,00,67,00,33,00,32,00,\
    2e,00,64,00,6c,00,6c,00,00,00,21,00,5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,\
    00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,\
    65,00,6d,00,33,00,32,00,5c,00,43,00,6f,00,6d,00,44,00,6c,00,67,00,39,00,38,\
    00,2e,00,64,00,6c,00,6c,00,00,00,5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,00,\
    57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,65,\
    00,6d,00,33,00,32,00,5c,00,43,00,6f,00,6d,00,44,00,6c,00,67,00,58,00,58,00,\
    2e,00,64,00,6c,00,6c,00,00,00,21,00,5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,\
    00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,\
    65,00,6d,00,33,00,32,00,5c,00,43,00,6f,00,6d,00,44,00,6c,00,67,00,33,00,32,\
    00,2e,00,64,00,6c,00,6c,00,00,00,00,00

    Курсоры для CursorFX


    Уже перевод названия данного набора наводит на мысли - "кости". Каждый указатель из набора представляет собой изображение костей человеческой руки. В соответствии с выполняемой операцией на компьютере - курсоры в виде костяной руки меняют свою форму или цвет. Набор сразу бросается в глаза и не оставит равнодушным самого спокойного и уравновешенного пользователя. Набор курсоров Bones подойдет очень смелым людям, кто не боится устанавливать вместо своих привычных курсоров столь необычный набор, и любителям фильмов ужасов,кому будет нравится видеть это зрелище на своем компьютере.


    Ещё один оригинальный и яркий вариант курсоров для CursorFX. Курсоры Bubba – Small окрашены в яркий жёлтый цвет, который переливается в разные оттенки оранжевого цвета. Иногда создаётся такое впечатление, что курсор горит или светит как солнышко. В набор курсоров входит 15 модификаций для различных режимов. Все дизайны стандартные. Основное отличие курсоров Bubba – Small заключает именно в необычном цвете. Если в Вашей теме оформления присутствуют оранжевые или жёлтые цвета, то попробуйте установить курсоры Bubba – Small.


    Стильные серо-зелено-кислотные курсоры из серии Cursor FX просто потрясающие! Во-первых, сочетание цветов. Издавна считается, что серые с зеленым сочетаются не очень, а вот с ярко-кислотно зелёным – самое оно! Во-вторых, форма, с виду каракатица-каракатицей, а на самом деле это указатель, совмещающий в себе лезвие ножа, какое-то замысловатое транспортное средство и, можно сказать, ремни безопасности. Присмотритесь! А уменьшенная копия данных указателей смотрится также шикарно, как и одиночные стрелочки. Да, я б такими стрелочками поиграл в гонки! А Вы? Попробуйте, искренне советую!


    Вот это графика! Новые курсоры серии Cursor FX. названные Pop_the_sands воодушевляют своим величеством и изысканностью! Как видим, преобладают бледные оттенки голубого, розового и серого цветов – строго, торжественно, грандиозно! Красивые мечи, яркие орнаменты по типу металлик, замысловатые фигурки, пламенные ленточки… Такое. Думаю, не оставит равнодушным никого. Курсоры замечательно подойдут к играм в средневековье, в прекрасных дам и рыцарей, сайтам посвященным древности, играм с участием красавиц и даже стрелялкам, а, возможно и чему-то еще. Скачайте, проверьте и сразу все поймете!


    Курсоры-стрелочки из серии Cursor FX под именем Septagram выполнены, на мой взгляд, в мультяшном стиле, а сочетание голубого, оранжевого и розового цветов это доказывают. Мы видим курсоры в виде звездочек, внутри которых можно рассмотреть небо и море, волшебных палочек. Да и просто шкодных оранжевых указателей. Замечательно подойдут для детских сайтов, сайтов, посвященных косметики и парфюмерии и каким-то детским играм в стиле фентези. Присмотритесь, возможно, вы увидите и другое применение курсорам…


    Весьма креативные анимированные курсоры WOM достойны того, чтобы жить на Вашем компьютере. Цветовая гамма и дизайн иконок сделан запоминающимся, не позволяющим их забыть или не заметить. Замените свои стандартные курсоры на курсоры из набора WOM и будьте уверены, что таких курсоров Вы не встретите не у кого. Тем более, что для установки Вам не придется прилагать много усилий - все за Вас сделает программа CursorFX. Не зацикливайтесь на стандартах, пробуйте что-то новое и интересное вместе с набором курсоров WOM.


    Курсоры из набора Fluffy напоминают по своей форме и раскраске какие-то сказочное грибочки. Но это не совсем так. И если дословный перевод нам говорит о некой взбитости и пушистости, то можно смело заявлять, что это мороженое со взбитыми сливками или пирожное с кремом. Только вот почему оно такого цвета? Ведь все курсоры выполнены в красно-голубой гамме. Автор явно вложил в их создание какую-ту идею, но не всем эта идея раскрылась. А вот если Вы хотите, чтобы на Вашем компьютере обычные курсоры приняли вид красно-голубых объемных указателей, то набор курсоров Fluffy легко решит эту задачу.


    Представляем Вам классные курсоры для CursorFX под названием DaTiK_K. В основу дизайна этих курсоров легла необычная модифицированная стрелка. Стрелка имеет асимметричную форму и поэтому смотрится очень оригинально. Все варианты курсоров этого набора Вы можете увидеть на скриншоте. Как видите синий цвет курсора иногда меняется – это зависит от совершаемой операции. В целом курсоры DaTiK_K довольно приятные, хорошо прорисованы, а также грамотно оформлены.


    Silver Gecko- это набор разноцветных курсоров, которые украшает небольшая симпатичная ящерица. Курсоры могут иметь зелёный, красный, жёлтый, синий цвета. Креативная ящерка внизу курсора добавляет ему оригинальный вид. В общем-то, каких-либо ограничений по использованию курсоров Silver Gecko нет – они хорошо будут смотреться с любыми темами оформления. Главное, чтобы они нравились именно Вам. Скачивайте и устанавливайте эти курсоры на свой компьютер!


    3D Metal - набор курсоров для Вашего компьютера. Оформление выполнено с использование голубых оттенков. Наличие белых бликов на стрелках курсоров создает впечатление, что они выполнены из кусочков льда, хотя название нам говорит совсем о другом. Особенно это хорошо заметно на примере главной стрелки - она выполнена в форме четырехгранной пирамиды, чем напоминает осколок льда. Если Вы хотите оформить свой компьютер в соответствии с порой года, то данный набор идеально подойдет для зимы и будет последним, но не маленьким, изменением Вашего оформления Windows.

    Навигация

    Иконки и курсоры

    Иконки и курсоры - MFC

    Иконки и курсоры являются ресурсами и обычно хранятся в области ресурсов исполняемого файла. В этой главе мы рассмотрим способ установки для окна собственных иконки и курсора, который годится для динамического изменения этих элементов, когда окно уже отображено на экране. Кроме того, мы рассмотрим, как сделать диалог главным окном программы. Это очень удобно для небольших утилит. Изменять иконку и курсор для диалога труднее, чем для обычного окна. Но мы рассмотрим именно универсальный метод, который годится для всех окон. Вам рекомендуется использовать в своих программах именно этот метод.

    Создание иконки и курсора

    Для создания иконки и курсора нужно использовать ресурсный редактор. Иконки сохраняются в файлах с расширением ico, а курсоры - в файлах с расширением cur.

    Все курсоры имеют размер 32x32. Обычно используются монохромные курсоры. Каждый курсор имеет так называемую горячую точку, по которой определяется положение курсора на экране. Она может располагаться в любом месте курсора. Для курсоров типа "указатель" это обычно вершина указателя.

    Иконки могут иметь размер 16х16, 32х32 и 48х48. Последний размер обычно не используется. Иконки могут иметь 16 или 256 цветов. При использовании ресурсного редактора среды Visual C++ 4.0 и выше иконки всех размеров можно хранить в одном файле, что обычно и делается. Для современных приложений обязательно наличие иконок размером как 16х16, так и 32х32.

    Загрузка иконки и курсора из ресурсов

    К сожалению, на текущий момент MFC плохо поддерживает этот процесс. Поэтому иногда удобнее пользоваться функциями Windows API. Перед рассмотрением функций следует рассмотреть понятие дескриптора. Дескриптор - это 32-разрядное беззнаковое целое значение, которое идентифицирует объект в Windows. При традиционном SDK-программировании дескрипторы используются очень широко. Например, свои дескрипторы имеют иконки, курсоры и само приложение. Для дескрипторов каждого объекта существует свой тип, например, HICON, HCURSOR, HINSTANCE.

    Следующее понятие, которое нам нужно рассмотреть, это класс окна. Класс окна - это структура данных в Windows, которая определяет атрибуты окна. Перед тем, как создать реальное окно, приложение регистрирует класс окна, а затем на его основании может быть создано сколько угодно окон. Обычно MFC полностью автоматизирует этот процесс. Но так как такие параметры окна, как иконка и курсор, определяются именно в классе окна, то нам придется их изменять явно.

    Будем предполагать, что в декларации класса основного окна (теперь уже идет речь о классе С++) объявлены переменные m_hIconSmall, m_hIconBig, m_hCursor - соответственно дескрипторы иконки 16х16, иконки 32х32 и курсора. Тогда для загрузки иконок и курсора нужно выполнить следующий код:

    Сначала мы получаем дескриптор модуля с помощью глобальной функции MFC AfxGetInstanceHandle(). Затем мы загружаем маленькую и большую иконки с помощью функции Windows API LoadImage(), и получаем их дескрипторы. Эта функция очень мощная, и позволяет загружать изображения из ресурсов и из файлов. И наконец, мы загружаем курсор уже с помощью функции MFC LoadCursor(), члена класса CWinApp. Функция AfxGetApp() возвращает адрес объекта приложения.

    Изменение иконки и курсора окна

    После того, как мы получили дескрипторы иконок и курсора, нужно изменить класс окна. (Класс окна нужно изменять для установки курсора, а для установки иконок подойдут и функции MFC.) Для этого используется API-функция SetClassLong(), которая изменяет атрибут класса окна (здесь опять имеется в виду структура данных). Первый параметр этой функции - дескриптор окна. Дескриптор окна хранится в члене класса MFC CWnd под названием m_hWnd. Если главным окном приложения является диалог, то для изменения иконки и курсора потребуется следующий код (он будет работоспособен и для обычных окон):

    Сначала мы модифицируем курсор в оконном классе самого окна. Затем мы то же самое проделываем со всеми элементами управления, которые есть или могут быть в диалоговом окне (если их нет в окне, то ничего страшного не произойдет). Мы перебираем все возможные идентификаторы, и если элемент присутствует, изменяем его оконный класс. И наконец, мы изменяем большую и маленькую иконки. Здесь уже есть хорошая поддержка со стороны MFC.

    Использование диалога в качестве главного окна

    Как уже говорилось, это часто бывает очень удобным. Сделать это достаточно просто. Во-первых, нужно создать диалог в ресурсах. Во-вторых, нужно класс главного окна приложения породить от CDialog. Перед конструктором класса главного окна нужно вызвать конструктор класса CDialog, где привязать объект к ресурсам, например:

    И в-третьих, в функции CApp::InitInstance() должен присутствовать следующий код: Мы отображаем модальный диалог. Так как при завершении функции DoModal() нам уже не нужна очередь сообщений, мы "обманываем" MFC, делая вид, что инициализация прошла неудачно. На самом же деле просто уже пора завершать приложение.

    Пример программы

    Рис. 14. Использование собственных иконки и курсора в диалоге


    Поэкспериментируйте с программой. Попробуйте отключить цикл, который модифицирует класс окна для элементов управления, и посмотрите, что из этого получится. Измените программу так, чтобы главным окном было обычное окно-рамка, как в предыдущих примерах.

    Стандартные иконки и курсоры

    Часто в программах нужно использовать курсоры и иконки, уже предопределенные в Windows. Для этого можно использовать или функцию API LoadImage(), или функции MFC LoadStandardIcon() и LoadStandardCursor(). Работа со стандартными курсорами и иконками почти ничем не отличается от работы с пользовательскими. Для стандартных иконок есть предопределенные идентификаторы с префиксом IDI_, а для стандартных курсоров - с префиксом IDC_. Например, стандартный курсор в виде "песочных часов" имеет идентификатор IDC_WAIT.

    Оставить комментарий

    Программы для иконок

    Программы для иконок Готовые иконки. Дизайн иконок. Серия наших программных продуктов предназначена для создания "мелкой" графики - иконок, курсоров и других миниатюрных изображений. Наши графические редакторы обязательно Вам пригодятся, если Вы:
    • профессиональный дизайнер графических изображений любого формата
    • обычный пользователь, желающий внести разнообразие в стандартную оболочку Windows
    • разработчик, создающий интерфейсы к своим программам без помощи профессионального дизайнера
    • web-дизайнер или просто web-мастер, которому важна привлекательность своего сайта.

    IconXP поможет Вам в создании иконок для рабочего стола

    IconUtils - полный пакет утилит для иконок и курсоров.

    ArtCursors - прове- ренное решение для работы с курсорами.

    Качество иконок играет важную роль в создании имиджа програмного продукта. Иконка - это первое, что видит пользователь, когда он запускает приложение с рабочего стола операционной системы. Поэтому очень важно впечатление, которое создает значок программы. Начинающие разработчики часто не замечают этот аспект дизайна и используют стандартные иконки, входящие в различные бесплатные коллекции иконок, и теряют шанс сделать легко узнаваемый продукт. Студия Иконок позволяет с легкостью создавать собственные значки, и освоение этого редактора иконок будет простым даже для начинающего дизайнера.

    Copyright (C) 2000-2016 Aha-Soft.

    Студия Иконок - русская версия редактора иконок для Windows. Она работает с библиотеками иконок, поддерживает множество графических форматов. Включает русский, английский, украинский и другие интерфейсы.

    Toolbar Icon Set - коллекция готовых иконок для применения в программах, сайтах, презентациях и логотипах. Для профессионалов.

    IconLover - эта программа для создания иконок позволяет редактировать все виды растровой графики, необходимые в цикле разработки программного обеспечения, включая иконки для Windows Vista и XP, кнопки, курсоры, тулбары, значки. Всё в одном приложении.

    ArtCursors позволяет создавать, изменять, конвертировать курсоры и собирать их в библиотеки. Поддерживает статические и анимированные курсоры.

    Icon to Any конвер- тирует иконки и курсоры в BMP, JPG, PNG, GIF, ICO, CUR и другие форматы. Этот мастер найдет вам иконки и сделает из них GIF изображения для использования на Web странице.

    Иконки и Курсоры для дизайна

    68 Funky Fitness Icons - CrеаtivеМаrкеt 670348
    4 EPS, 4 AI, 4 PSD, 68 SVG, 136 PNG | Adobe CS3+ | Layered | 26 Mb


    Impress your healthy audience with beautiful fitness graphics! We have carefully crafted a set of 68 Fitness icons and categorized these in 4 categories: Exercises, Fitness & Gym Tools, Fitness General and Lifestyle. The icons are perfect to use for a new fitness app or website and will impress visitors and/or your clients.

    автор: GanjaParker | 11 июня 2016 | Просмотров: 50

    150 Funky Food Icons - CrеаtivеМаrкеt 580148
    5 AI, 5 EPS, 6 JPG, 150 SVG, 300 PNG | Layered | 23 Mb


    The Flat-icons.com team is back with an awesome set of 150 flat food icons! These are definitely perfect to add value to all your food related projects. Created with love, this set is well organized into 5 different categories: Bakery & Sweets, Cafe & Restaurant, Fruits & Vegetables Meats & Fish, Drinks.

    автор: jezla | 11 июня 2016 | Просмотров: 65