На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Icon Handlers



An application can customize the icons that the shell displays for the application's file types. The icon interface also allows an application to specify icons for folders and subfolders within the application's file structure.

An application can specify icons for its file types in two ways. The simplest way is to specify a class icon to be used for all files of a particular file type by adding a DefaultIcon key to the registry under the program information. For information about specifying a class icon, see Setting Default Icons for File Classes.
An application can use the %1 value with the DefaultIcon key. This value denotes that each file instance of this type can have a different icon. The application must supply an icon handler for the file type and add an IconHandler key to the shellex key for the application. An application can have only one entry for the IconHandler key, and the value of its key denotes the CLSID of the icon handler.

shellex
IconHandler
{00000000-1111-2222-3333-00000000000003}
DefaultIcon = %1


To have customized icons, an application must provide an icon handler that implements the IExtractIcon interface. The system follows these steps when it is about to display an icon for a file type that has instance-specific icons:

1. Retrieves the class identifier of the handler.
2. Creates a handler object by calling the CoCreateInstance function with the CLSID.
3. Initializes the instance by calling the IPersistFile::Load member function.
4. Uses the QueryInterface member function to get to the IExtractIcon interface.
5. Calls the IExtractIcon::GetIconLocation and IExtractIcon::Extract member functions.

The IExtractIcon interface has the Extract and GetIconLocation member functions in addition to the usual IUnknown member functions.
The system calls the GetIconLocation member function to get the location and index of an icon to display. Typically, the icon location is an executable or DLL filename, but it can be any file.
The system calls the Extract member function when it needs to display an icon for a file that does not reside in an executable or DLL file. Applications usually have the file icons in their executable or DLL files, so icon handlers can simply implement this member function as a return-only function that returns the E_FAIL error value. You need to implement the Extract member function only if the icon image is stored in a file in an application-defined format. When the icon for a file is in a separate .ICO file (or any other type of file), the icon handler must extract the icon for the shell and return it in this member function.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Иконные Вручители



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

Приложение может определить иконы для своих файловых типов в двух путях. Самый простой путь в том, чтобы определить иконку класса, которая нужно использоваться для всех файлов конкретного файлового типа добавляя клавишу DefaultIcon к регистрации под программной информацией. Для информации об определении иконки класса, смотри По умолчанию Иконки Установки для Файловых Классов.
Приложение может использовать %1 величину с клавишей DefaultIcon. Эта величина обозначает, который каждый файловый пример этого типа может иметь другую иконку. Приложение должно поставить иконного вручителя для файлового типа и добавлять клавишу IconHandler к клавише shellex для приложения. Приложение может иметь только один вход для клавиши IconHandler, и величина своей клавиши обозначает CLSID иконный вручитель.

shellex IconHandler
{00000000-1111-2222-3333-00000000000003}
DefaultIcon = %1


Модифицировать по заказу пользователя иконки, приложение должно обеспечить иконного вручителя, который осуществляет интерфейс IExtractIcon. Система следует за этими шагами когда она собирается отображать иконку для файлового типа, который имеет пример-специфические иконки:

1. Извлекает идентификатор класса вручителя.
2. Создает объект вручителя вызывая функцию CoCreateInstance с CLSID.
3. Инициализирует пример вызывая IPersistFile::функция элемента Загрузки.
4. Использует функцию элемента QueryInterface, чтобы доходить до интерфейса IExtractIcon.
5. Называет IExtractIcon::GetIconLocation и IExtractIcon::функции элемента Экстрата.

Интерфейс IExtractIcon имеет Экстрат и элемент GetIconLocation функционирует дополнительно к обычным функциям элемента IUnknown.
Система называет функцию элемента GetIconLocation, чтобы получать позицию и индекс иконки, чтобы отображаться. Обычно, иконная позиция - программа или DLL filename, но это может быть любым файлом.
Система называет функцию элемента Экстрата когда ему нужно отображать иконку для файла, что не находится в программе или файле DLL. Приложения обычно имеют файловые иконки в их программе или файлах DLL, так что иконные вручители могут просто осуществить эту функцию элемента как обратную-только функцию, которая возвращает величину ошибки E_FAIL. Вам нужно осуществлять функцию элемента Экстрата только если иконный образ загружен в файл в определенном прикладном формате. Когда иконка для файла - в отдельном файле .ICO (или любом другом типе файла), иконный вручитель должен извлечь иконку для оболочки и возвращать это в этой функции элемента.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz