Навигация
Главная
Новости
Скачать
Шаблоны сайтов
Партнеры

Графика
Adobe Photoshop

Программирование
Теория алгоритмов
Code Snippets
Все о PHP
Visual C++
WIN32 API
Delphi
ASP

Java
VBScript
CGI
VRML
PERL
HTML
XML

Сети
Cisco
IP-сети
Сетевые термины

IT
UNIX-системы
Хостинг

Операционные системы
Windows
Linux

Поисковая оптимизация
Основы SEO
Мастер-класс SEO
Анализ трафика
Google AdSense

В перерыве
Интересное
Поиск работы
Немного юмора
Материалы
Публикации


RSS / РСС
.
Минутку внимания!
быстрая аварийная служба канализации и отопления; диагностика
Рисование в 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. Координаты действуют только для текущего листа.
Удачной работы!


Для наших любимых посетителей:
Мы рекомендуем вам ознакомиться со следующими материалами на тему:
Информация для интересующихся веб-дизайном и программированием:
Right one

Online from 2006-2008 #We are the CoDeRs! Наши статьи и новости можно свободно перепечатывать при указании обратной ссылки на источник Связь с админом