[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Программирование под ОС / Pascal - Delphi /

Рисование в MS Word на Delphi

В этой третьей по счету статье о Delphi мы рассмотрим основные способы рисования из Delphi на листе MS Word.

0. Запуск MS Word

Подключаем необходимый для работы модуль и объявляем переменную:

uses ComObj;
...
var MsWord: variant; 

Запускаем MS Word и показываем на экране:

MsWord:= CreateOleObject('Word.Application');
MsWord.Visible := True; 

Создание нового документа:

MsWord.Documents.Add;

1. Линия

Рисуем линию в документе MS Word на текущем листе:

MsWord.ActiveDocument.Shapes.AddLine(x1, y1, x2, y2);

где x1, y1 - координаты начала, а x2, y2 - координаты конца линии.

Линия, выделенная для редактирования (форматирования):

MsWord.ActiveDocument.Shapes.AddLine(x1, y1, x2, y2).;

2. Прямоугольник

MsWord.ActiveDocument.Shapes.AddShape(1, x1, y1, x2, y2);

где x1, y1, x2, y2 - координаты прямоугольника.

3. Произвольная фигура (или автофигура в терминологии MS Word)

В общем случае, произвольная фигура рисуется так:

MsWord.ActiveDocument.Shapes.AddShape(i, x1, y1, x2, y2);

где i - номер фигуры (соответствует порядку следования фигур в MS Word на панели рисования), x1, y1, x2, y2 координаты прямоугольника в который будет вписан объект.

4. Вставка картинки (произвольного изображения) в текущее положение курсора

MsWord.ion.InlineShapes.AddPicture
(FileName:='C:WINDOWSПузыри.bmp', LinkToFile:=False, SaveWithDocument:=True);

При выполнении данной команды нужно определить следующие праметры:

FileName - путь к графическому файлу; LinkToFile - булевский флаг, указывающий на необходимость связи с источником; SaveWithDocument - булевский флаг, указывающий на свойства рисунка при сохранении документа.

5. Манипулцяции (форматирование) с фигурами

Выбор фигуры можно осуществить следующим образом:

MsWord.ActiveDocument.Shapes.item(n).;

где n - порядковй номер фигуры.

Заливка фона текущей фигуры

MsWord.ion.ShapeRange.Fill.ForeColor.RGB:=RGB(r, g, b);

где r, g, b - соответственно красная, зеленая и синяя составляющая цвета.

Толщина линий текущей фигуры

MsWord.ion.ShapeRange.Line.Weight:=5;

Цвет линии текущей фигуры

MsWord.ion.ShapeRange.Line.ForeColor.RGB:=RGB(r, g, b);

Группировка фигур

MsWord.ActiveDocument.Shapes.Range(VarArrayOf(['3', '5', '8'])).group;

где 3, 5, 8 - порядковый номер фигуры.

6. Блокировка механизма вывода на экран отрисовки

В случае, если вы не хотите наблюдать как на листе отрисовываются ваши манипуляции с графическими объектами, то можно воспользоваться ниже приведенными командами.

// Выключение обновления экрана
MsWord.ScreenUpdating := False;

// Обновление экрана
MsWord.Application.ScreenRefresh;

// Включение обновления экрана
MsWord.ScreenUpdating := True;

Примечания:
  1. Рисование осуществляется на актвином листе.
  2. Координаты действуют только для текущего листа.
Удачной работы!




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Программирование под ОС / Pascal - Delphi /

Работа со шрифтами на Win API
06-06-2010   

Сегодня поговорим о шрифтах, и о том, каким образом работать с ними на Win API. Нам потребуется переменная типа HFONT. Изменить стиль шрифта можно у любого компонента, я покажу это на примере кнопки... подробнее

Кол. просмотров: общее - 3148 сегодня - 4

Работа с таймером на Win API
06-06-2010   

Таймер - вещь в хозяйстве очень полезная. Если некое действие нужно повторять с определенной периодичностью, то таймер, это как раз то, что нужно... подробнее

Кол. просмотров: общее - 3208 сегодня - 1

Работа с мультимедийным таймером на Win API
06-06-2010   

Мы уже знакомы с системным таймером, сегодня познакомимся с мультимедийным, основное отличие которого, более высокая скорость (точность) работы... подробнее

Кол. просмотров: общее - 3281 сегодня - 2

Создание CheckBoxов средствами Win API
06-06-2010   

Сегодня наша программа научится работать с CheckBoxами. CheckBox можно представить как флаг, который можно установить или сбросить, и в зависимости от его состояния выполнять определенные действия... подробнее

Кол. просмотров: общее - 3391 сегодня - 2

Создание группы RadioButton средствами Win API
06-06-2010   

В прошлый раз мы сделали несколько радио-кнопок, которые автоматически объединялись в одну группу. Сейчас рассмотрим, как создавать несколько независимых групп радио-кнопок... подробнее

Кол. просмотров: общее - 3228 сегодня - 3

Популярные статьи



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects