Шрифт в Word представляет собой объект, имеющий свойства и методы,
часть которых аналогична свойствам и методам объекта Tfont в Delphi. От-
личия заключаются в следующем: в Delphi можно задать цвет шрифта как
сочетание красного, зеленого и синего, а в Word цвет выбирается из палит-
ры возможных значений. В Word шрифт имеет больше дополнительных ви-
зуальных параметров, чем шрифт в Delphi. Сравним диалоги выбора и на-
стройки шрифта в Word (рис. 7.9) и Delphi (рис. 7.10).
Мы будем задавать шрифт из программ, разработанных в Delphi, поэтому
нам нужно будет преобразовать параметры объекта Tfont Delphi в парамет-
ры объекта Font Word. Поскольку аналогичные по назначению свойства
этих двух объектов имеют разные типы, нам придется использовать сле-
дующую специальную процедуру.
Преобразование параметров объекта Tfont (Delphi) в параметры объекта Font (Word)
Function FontToWFont(font:Tfont;WFont:variant):boolean;
begin
FontToWFont:=true;
try
WFont.Name:=font.Name;
if fsBold in font.Style then WFont.Bold:=True
else WFont.Bold:=False;
if fsltalic in font.Style then WFont.Italic:=True
else WFont.Italic:=False;
WFont.Size:=font.Size;
if fsStrikeOut in font.Style
then WFont.StrikeThrough:=True
else WFont.StrikeThrough:=False;
if fsUnderline in font.Style
then WFont.Underline:=wdUnderlineSingle
else WFont.Underline:=wdUnderlineNone;
except
FontToWFont:=false;
end;
end;
Далее используем эту процедуру для преобразования шрифта и рассмотрим
фрагмент демонстрационной программы.
Рис. 7.9. Диалог выбора шрифта в Word
Рис. 7.10. Диалог выбора шрифта в Delphi
Выбор шрифта для текста ячейки
procedure TOKBottomDlg7.ButtonlClick(Sender: TObject);
begin
if not FontDialogl.Execute then exit;
FontToWFont(FontDialogl.font,table.Cell(Rowld.value,
Columnld.value).Range.font);
end;
Данная процедура, используя возвращаемый диалогом FontDialogl шрифт,
изменяет шрифт ячейки Cell(RowId.value, Colurnnld.value).
Результат выполнения данной процедуры представлен на рис. 7.11.
Зададим цвет шрифта для текста ячейки
Выбор цвета шрифта для текста ячейки
const
wdAuto=0;
wdBlack=1;
wdBlue=2;
wdTurquoise=3;
wdBrightGreen=4;
...
wdGray50=14;
wdGray25=15;
Рис. 7.11. Устанавливаем шрифт для текста ячейки таблицы
Рис. 7.12. Устанавливаем цвет шрифта для текста ячейки
procedure TOKBottomDlg7.TextColorlndexChange(Sender: TObject);
begin
table.Cell(Rowld.value, Columnld.value).Range.font.Colorlndex:=
TextColorIndex.itemindex;
end;
Результат выполнения процедуры представлен на рис. 7.12. |