Работа внутри макроэлемента

Автор Sprinter500, 24.09.15, 07:10:32

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sprinter500

Добрый день! Подскажите как редактировать содержимое выделенных макроэлементов?
Что требуется:
1. Выделение макроэлементов по содержащимся в них штриховкам и заливкам с определенными свойствами (по стилю, шагу, цвету и тп).
2. Удаление штриховок либо заливок в выделенной группе макроэлементов.
3. Создание в макроэлементе полосатой заливки (зеброй, как жезл у гайца).

Получаете контейнер объектов макроэлемента.
DrawingContainer:=IUnknown(ksTransferReference(MacroObject.Reference,ksGetCurrentDocument(0))) As IDrawingContainer;
Затем массив штриховок
if DrawingContainer<>nil then AirGrupp:=DrawingContainer.Objects[ksDrHatch];
или заливок
if DrawingContainer<>nil then AirGrupp:=DrawingContainer.Objects[ksDrColorFill];
и дальше работаете с ними.
+ Благодарностей: 1

Sprinter500

Спасибо. Вечером буду пробовать.

А на счет третьего пункта по полосатой заливке есть идеи?

Sprinter500

Тут задаются от 1 до 99 положений и у каждого либо черный либо белый цвет. Вот как это программой надо реализовать, вручную долго и муторно будет. Но если никак то уж куда деваться, придется потратить часок на уровни

Вы справку, вообще читаете?
IColouring.AddGradation - Добавить переход цвета.
IColouring.SetGradations - Установить параметры переходов цвета.
+ Благодарностей: 1

Sprinter500

Попробовал. Delphi красным подчеркивает как неопознанное: ksTransferReference и ksGetCurrentDocument

Что надо подключить чтобы Delphi поняло что это такое?