Работа с текстом в графическом режиме

Здесь показывается окно выбора цвета, и если цвет выбран, то просто происхо­дит перерисовка окна. А где же изменение цвета шрифта? Как уже говорилось, когда мы работали с кистью, цвет нужно менять непосредственно перед рисовани­ем, и здесь это делать нет смысла. Поэтому корректируем событие onPaint:

 

Canvas.Font.Color:=ColorDialog1.Color;

Canvas.TextOut(100,100, 'Привет всем!!!');

 

Теперь установим на форму компонент FontDialog с вкладки Dialogs. Это почти такой же компонент, как мы использовали для смены цвета, только здесь будет по­являться стандартное окно смены шрифта. Добавьте на форму кнопку с надписью "Изменить шрифт" и для ее события onclick напишите следующее:

 

if FontDialog1.Execute then

begin

Canvas.Font:=FontDialogl.Font;

FormPaint(nil);

end;

 

В первой строке кода показывается окно смены шрифта так же, как это делалось для изменения цвета. Если пользователь выбрал шрифт и нажал ОК, то устанавли­вается его свойство Font объекта canvas. После этого мы заставляем форму обно­вить свое содержимое. При новой прорисовке содержимого формы текст уже вы­водится с новым шрифтом.

Единственный недостаток этого примера заключается в следующем. Если сначала выбрать большой шрифт, а затем маленький, то старое содержи­мое текста, написанного большим шрифтом, не уничтожается, а новый рисуется поверх старого:

Работа с текстом в графическом режиме

 

О первом из них мы уже говорили и использовали его.

Второй метод invalidate имеет практически тот же смысл, только заставляет прорисоваться полностью все окно, а не только его элементы.

Итак, мы научились менять все параметры текста с помощью стандартного диа­логового окна. Как менять отдельные свойства—это отдельная тема, ведь свойст­во Font имеет объектный тип TFont с массой свойств. Вот основные свойства:

  • charset— позволяет определить или указать набор символов или просто коди­ровку. По умолчанию кодировка равна константе default_charset, которая со­ответствует кодировке ОС;
  • color — цвет шрифта в виде экземпляра класса TColor;
  • Handle — дескриптор шрифта, который используется при обращении к WinAPI- функциям;
  • Height — высота шрифта;
  • Name — имя шрифта;
  • size — размер шрифта;
  • Pitch — позволяет указать, что все символы шрифта должны иметь одинаковую ширину;
  • style — стиль шрифта. В этом параметре может быть сочетание из следующих параметров:
    • fsBold — жирный;
    • fsitalic — наклонный;
    • f sunder line — подчеркнутый;
    • f sstrikeout — зачеркнутый.
dle

Помоги проекту! Расскажи друзьям об этом сайте: