Следующие значения системного реестра демонстрируют ветви системного реестра приложений:
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-x:
xxx\AutodeskApps\AcadDC\Applications\Autodesk\Finder\Drawings]
"LocalName"="Drawings"
"File Based Search"=dword:00000001
"Advanced Search"=dword:00000001
"Date Search"=dword:00000001
"Date Available"=dword:00000001
"Size Available"=dword:00000001
"Extension"=".dwg"
"Auto Append"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-x:
xxx\AutodeskApps\AcadDC\Applications\Autodesk\Finder\Drawings
\Advanced Properties]
"Advanced Property1"="Block name"
"Advanced Property2"="Block and drawing description"
"Advanced Property3"="Attribute tag"
"Advanced Property4"="Attribute value"
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-x:
xxx\AutodeskApps\AcadDC\Applications\Autodesk\Finder\Drawings
\Properties]
"Property1"="File Name"
"Property2"="Title"
"Property3"="Subject"
"Property4"="Author"
"Property5"="Keywords"
Ключи расширений
Этот ключ - для довольных средств доступа, кто хотят регистрировать себя и участвовать в режиме рабочего стола Дизайн-центра AutoCAD. Эти довольные средства доступа обрабатывают только специфические типы расширений, и они не заинтересованы участием в заказной установке режима Дизайн-центра AutoCAD.
Имя Расширения
Вся информация потребности Дизайн-центра AutoCAD от довольного средства доступа, участвующего в его настольном режиме сохранена под этим ключом. Ключ расширения может иметь любое число дополнительных ключей. Имя дополнительного ключа представляет имя расширений файла, которые показываются в Дизайн-центре AutoCAD.
Имеются два типа расширений, сохраненных в системном реестре, удовлетворяют тип и контейнерный тип. Под ключом Extension Name может быть следующие дополнительные клавиши:
- Содержательный тип
Если ключ расширения не имеет никаких дополнительных ключей, рассматривается быть расширением содержательного типа, если содержательное средство доступа определенно не устанавливает ключ контейнерный в значение одних.
- Контейнерный тип
Если ключ расширения имеет дополнительные ключи, рассматривается быть контейнерным расширением типа. Значения, сохраненные на этом уровне ключа игнорируются. Контейнерный ключ может иметь любое число дополнительных клавиш. Каждая дополнительная клавиша представляет тип содержания, которое контейнер может обрабатывать.
Следующие значения системного реестра демонстрируют отрасль системного реестра расширений:
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-x:
xxx\AutodeskApps\AcadDC\Extensions]
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-x:
xxx\AutodeskApps\AcadDC\Extensions\.dwg]
"Default_CLSID"="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
"Default_IconIndex"=dword:00000002
"Container"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-x:
xxx\AutodeskApps\AcadDC\Extensions\.dwg\Blocks]
"CLSID"="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
"IconIndex"=dword:00000000
"Prefix"="AcDc"
"LocalName"="Blocks"
CLASSID Регистрация
Минимальная регистрация, требуемая компонентом под HKEY_CLASSES_ROOT :
[HKEY_CLASSES_ROOT\CLSID\{<App CLSID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>}\
InProcServer32]
@="<full path to application>\mycomponent. arx"
Реализация интерфейса для AutoCAD Дизайн-центра
Чтобы обеспечивать содержание в Дизайн-центре AutoCAD, необходимо осуществить по крайней мере интерфейс IAcDcContentView. Если приложение предназначено, чтобы участвовать в механизме Средства поиска, то приложение должно поддержать интерфейс IAcDcContentFinder также. Реализация интерфейс IAcDcContentFinder необязательная.
Как правило, прикладной компонент делал бы следующее:
§ В течение инсталляции, это добавляет соответствующие вхождения в системный реестр.
§ Вызывает функции в интерфейсе IAcDcContentBrowser, которые осуществлены структурой Дизайн-центра AutoCAD. Они описаны в следующей таблице:
Функции интерфейса IAcDcContentBrowser
Функциональное | Описание |
AddPaletteItem | Добавляет элемент в палитре Дизайн-центра AutoCAD. |
AddNavigatorNode | Необходимый только в случае заказного представления{*вида*}. Добавляет узла в навигаторе Дизайн-центра AutoCAD. |
GetDCFrameWindow | Это полезно в случае компонентов, желающих иметь имеющую силу метку окна, чтобы отобразить их меню контекста. |
SetItemDescription | Устанавливает текст описания в области окна описания Дизайн-центра AutoCAD. |
SetPaletteImageList | Устанавливает маленький / большой список изображения, используемый палитрой в Дизайн-центре AutoCAD. |
SetNavigatorImageList | Устанавливает маленький список изображения, используемый навигатором в Дизайн-центре AutoCAD. |
SetPaletteMultiSelect | Позволяет опции выбрать множественные довольные{*содержательные*} примитивы в палитре Дизайн-центра AutoCAD. |
InsertPaletteColumn | Вставляет столбец (подэлемент) для содержательного примитива, обнаруживающегося в палитре. |
DeleteAllPaletteItems | Удаляет все элементы в палитре Дизайн-центра AutoCAD. |
GetSelectedNavNodeText | Получает отобранный текст узла навигатора. |
GetCurrentViewMode | Получает текущий режим представления{*вида*} (рабочий стол, открытые рисунки, и т. д.). |
SetPaletteSubItem | Устанавливает подъэлемент за элемент в палитре Дизайн-центра AutoCAD. |
SortPaletteItems | Сортирует элементы в палитре Дизайн-центра AutoCAD. |
- Функции IAcDcContentView связывают с помощью интерфейса в компоненте. Они описаны в следующей таблице:
Функции интерфейса IAcDcContentView
Функция | Описание |
Initialize | Кэши данный IAcDcContentBrowser. Опционально создает составляющее окно и скрывает это. Это позволяет компоненту всплывать любые меню контекста для его содержания. Создает по крайней мере один маленький и большой список изображения. Это также исполняет то, что другая инициализация требована. |
NavigatorNodeClick | Показывает содержание данного файла в палитре, вызывая AddPaletteItem () от кэшируемого IAcDcContentBrowser. Произвольно, это может просить, чтобы броузер сортировал элементы. Имеются функции в IAcDcContentBrowser, чтобы делать сортировку. |
NavigatorMouseUp | Отображает меню контекста, значимое для данного контейнера. |
PaletteMouseUp | Отображает меню контекста, значимое для данного содержательного примитива / примитивов. |
PaletteItemClick | Кэширует данный отобранный элемент и произвольно устанавливает описание элемента через броузер. Этот метод необязательный. |
RenderPreviewWindow | Выполняет изображение отобранного элемента на данном окне предварительного просмотра. Этот метод необязательный. |
PaletteItemDblClick | Показывает содержание контейнера в случае, если нажатый элемент - файл. То, что соответствующее в AutoCAD, если нажатый элемент - содержание, которое компонент отображается. |
PaletteColumnClick | Просит, чтобы содержательный броузер делал сортировку к данным сорта компонента. Этот метод необязательный. |
PaletteBeginDrag | Начинает перемещение содержания / контейнера примитива. Компонент принят, чтобы заботиться перетаскиваемый и снижение типов регистрир / содержания, которые являются значимыми для этого. |
ReleaseBrowser | Выпускает кэшируемый броузер. |
GetLargeImage | Заставит значок (32x32 предварительного просмотра для данного контейнерного файла обнаруживаться в большом виде значка в Контексте Проекта. |
QueryContextMenu | Добавляет пункты меню контекста для контейнерного (файла) в палитре к данному меню контекста. |
InvokeCommand | Вызывает команду при данной команде ID onthe меню контекста, которое компонент обеспечил. |
Настройка Дизайн-центра AutoCAD
Относительно просто создать приложение, чтобы обеспечить заказное содержание для Дизайн-центра AutoCAD, используя ATL AppWizard. Этот пример доступен в ObjectARX SDK, но это может быть создано на пустом месте после шагов ниже. Выборка добавляет текстовые файлы (с. txt расширениями{*продлениями*}) как содержание. Одиночный щелчок на текстовом файле покажет содержание в окне описания (если это активно). Двойной щелчок будет брать содержание файла и вставлять это как mtext в пространство модели в центре текущей области просмотра, используя текущий текстовый стиль.
Создайте ActiveX Проект Библиотеки Шаблона
1 Создают новый проект в Visual C++, используя COM ATL AppWizard. Для этого примера, мы назовем проект AsdkDesignCenterSamp. Выбрал тип сервера DLL и Поддержку MFC. Это не требовано, чтобы использовать MFC, но для этой выборки, мы будем использовать это, чтобы делать вещи проще. Нажмите Finish и затем OK создавать проект.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |


