Меню сайта
Форма входа
Последние новости
Наши друзья
Наш опрос
Наши друзья
Рисование в MS Word на Delphi
В этой третьей по счету статье о Delphi мы рассмотрим основные способы рисования из Delphi на листе MS Word.
0. Запуск MS Word
Подключаем необходимый для работы модуль и объявляем переменную:
uses ComObj; ... var MsWord: variant;
Запускаем MS Word и показываем на экране:
MsWord:= CreateOleObject('Word.Application'); MsWord.Visible := True;
Создание нового документа:
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;
Примечания:
Рисование осуществляется на актвином листе.
Координаты действуют только для текущего листа.
Удачной работы!
Категория: Delphi | Добавил: admin (12.09.2008)
Просмотров: 711
| Рейтинг: 0.0 /0 |
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]
Реклама на сайте
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Наши друзья
Счетчики
Ваш IP: 216.73.216.188