Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TFont. Шрифты в Delphi. 
:(
    Опции темы
THandle
Дата 24.4.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



                                                           TFont. Шрифты в Delphi.



Автор: Arch1S
Главный редактор: THandle

С помощью этого замечательного класса TFont мы можем выводить шрифт на форму.

    
Код

property Color: TColor;



Цвет шрифта.


Код

property Name : TFontName;



Имя шрифта. MS Sans Serif - это по умолчанию.

    
Код

property Charset: TFontCharset;



Набор символов. Для русских это свойство Default_Charset или Russian_Charset.


Код

property Height: Integer;



Высота шрифта. 


Код

property Size: Integer;



Высота шрифта в пунктах(1/72 дюйма).


Код

property Style: TFontStyle;



Стиль шрифта. fsBold - жирный, fsItalic - курсив, fsUnderline - подчеркнутый, fsStrikeOut - перечеркнутый. 

Для класса также есть один полезный метод:

    
Код

procedure Assign(Source: TPersistent);



С помощью этого метода значения свойств шрифтового объекта Source присваиваются свойствам текущего шрифта. Метод можно использовать также шрифта принтера.



Пример:

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    PaintBox1: TPaintBox;
    FontDialog1: TFontDialog;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  laststr : string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  with PaintBox1.Canvas, Font do
    begin
      TextOut(20, 20, 'MS Sans Serif, Size=10');
      Size := 10;
      TextOut(20, 40, 'MS Sans Serif, Size=20');
      Size := 20;
      Name := 'Courier';
      Style := [fsBold];
      TextOut(20, 70, 'Courier, Size=20');
      Name := 'Times New Roman';
      Style := [fsItalic,fsUnderLine,fsBold];
      TextOut(20, 110, 'Times Nes Roman, жирный, курсив, подчерк.');
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  lcolor : TColor;
begin
  if Edit1.Text <> '' then
    begin
      lcolor := PaintBox1.Canvas.Font.Color;
      PaintBox1.Canvas.Font.Color := clBtnFace;
      PaintBox1.Canvas.TextOut(10, 150, laststr);
      PaintBox1.Canvas.Font.Color := lcolor;
      PaintBox1.Canvas.TextOut(10, 150, Edit1.Text);
      laststr := Edit1.Text;
      Edit1.Clear;
    end;
  Edit1.SetFocus;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 if FontDialog1.Execute then
    PaintBox1.Font.Assign(FontDialog1.Font);
end;

end.



Некоторые пояснения к программе. Мы воспользовались шрифтом канвы компонента PaintBox1. Для изменения стиля шрифта свойству Style можно присвоить fsXXXX - типа TFontStyle. Этот тип определен как множество из элементов перечисленного типа. Вывод текста реализует метод TextOut канвы, которые передаются координаты левого верхнего угла надписи и текст.



От редактора:  ответственность за статью лежит не на мне. Все претензии к автору. smile 

Это сообщение отредактировал(а) THandle - 24.4.2008, 17:12

Присоединённый файл ( Кол-во скачиваний: 32 )
Присоединённый файл  TFont.rar 167,21 Kb
PM   Вверх
Arch1S
Дата 24.4.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 14.1.2008
Где: Беларусь, Гомель

Репутация: 2
Всего: 3



THandle, спасибо за человеческое оформление, и конечно за идею
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0653 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.