Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Лістинг 4.1 Стилі заповнення областей



unitbrustyle_;

Interface

Uses

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs, ExtCtrls;

Type

TForm1 = class(TForm)

procedureFormPaint(Sender: TObject);

Private

{ Private declarations}

Public

{ Public declarations )

end;

Var

Form1: TForm1;

Implementation

{$R *.DFM}

// перемальовування форми

procedureTForm1.FormPaint(Sender: TObject);

Const

bsName: array[1..8]of string =

('bsSolid','bsClear','bsHorizontal',

'bsVertical','bsFDiagonal','bsBDiagonal',

'bsCross','bsDiagCross');

Var

x,y: integer; // координати лівого верхнього кута прямокутника

w,h: integer; // ширина і висота прямокутника

bs: TBrushStyle;// стиль заповнення області

k: integer; // номер стилю заповнення

i,j: integer;

Begin

w:=40; h:=40; // розмір області(прямокутника)

у:=20;

for i:=l to 2 do

Begin

х:=10;

forj:=1 to4 do

Begin

k:=j+(і-1)*4; // номер стилю заповнення

Case k of

1: bs = bsSolid;

2: bs = bsClear;

4: bs = bsHorizontal;

4: bs = bsVertical;

5: bs = bsFDiagonal;

6: bs = bsBDiagonal;

7: bs = bsCross;

8: bs = bsDiagCross; end;

// вивід прямокутника

Canvas.Brush.Color := clGreen; // колір зафарбовування — зелений

Canvas.Brush.Style := bs; // стиль зафарбовування

Canvas . Rectangle (x, y, x+w, y-t-h) ;

// вивід назви стилю

Canvas.Brush.Style := bsClear;

Canvas.TextOut(x, y-15, bsName[k]);

// вивід назви стилю

x := x+w+40;

end;

у := y+h+40;

end;

end;

End.


Вивід тексту

Для виводу тексту на поверхню графічного об'єкта використовується метод TextOut. Інструкція виклику методу TextOut у загальному виді виглядає в такий вигляд:

Об'єкт.Canvas.TextOut(x, у, Текст)

де:

  • об'єкт — ім'я об'єкта, на поверхню якого виводиться текст;
  • х, у — координати точки графічної поверхні, від якої виконується вивід тексту (мал. 4.3);
  • Текст — змінна чи константа символьного типу, значення якої визначає виведений методом текст.

Рис. 4.3Координати області виводу тексту

 

Шрифт, що використовується для виводу тексту, визначається значенням властивості Font відповідного об'єкта Сanvas. Властивість Font являє собою об'єкт типу TFont. У табл. 4.7 перераховані властивості об'єкта TFont, що дозволяють задати характеристики шрифту, використовуваного методами TextOut і TextRect для виводу тексту.

 

Таблиця 4.7Властивості об'єкта TFont

     
  Властивість Визначає
  Name   Size   Style   Використовуваний шрифт. Як значення варто використовувати назва шрифту, наприклад Arial. Times New Roman, Courier Розмір шрифту в пунктах (points). Пункт— це одиниця виміру розміру шрифту, використовуваний у поліграфії. Один пункт дорівнює 1/72 дюйма Стиль накреслення символів. Може бути: нормальним, напівжирним, курсивним, підкресленим, перекресленим. Стиль задається за допомогою наступних констант: fsBold (напівжирний), fsltalic (курсив), f sUnderline (підкреслений), f sStrikeOut (перекреслений).

 

    Color Властивість style є безліччю, що дозволяє комбінувати необхідні стилі. Наприклад, інструкція програми, що встановлює стиль "напівжирний курсив", виглядає так: Об'єкт. Canvas . Font.style : = [fsBold, fs Italic] Колір символів. Як значення можна використовувати константу типу Tcolor

Увага!

Область виводу тексту зафарбовується поточним кольором кисті. Тому перед висновком тексту властивості Brush.Style потрібно привласнити значення bsClear чи задати колір кисті, що збігає з кольором поверхні, на яку виводиться текст.

Наступний фрагмент програми демонструє використання функції TextOut для виводу тексту на поверхню форми:

withForm1.Canvas do begin

// установити характеристики шрифту

Font.Name := 'Tahoma';

Font.Size := 20;

Font.Style := [fsltalic, fsBold] ;

Brush.Style := bsClear; // область виводу тексту не зафарбовується

TextOut(0, 10, 'Borland Delphi 7');

end;

Після виводу тексту методом TextOut покажчик виводу (олівець) переміщається в правий верхній кут області виводу тексту.

Іноді потрібно вивести який-небудь текст після повідомлення, довжина якого під час розробки програми невідома. Наприклад, це може бути слово "руб." після значення числа, записаного прописом. У цьому випадку необхідно знати координати правої границі уже виведеного тексту. Координати правої границі тексту, виведеного методом Textout, можна одержати, звернувшись до властивості PenPos.

Наступний фрагмент програми демонструє можливість виводу рядка тексту за допомогою двох інструкцій TextOut.

withForm1.Canvas do begin

TextOut(0, 10, 'Borland ') ;

TextOut(PenPos.X, PenPos.Y, 'Delphi 5');

end;




©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.