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.