- •Пример 1. Применение стандартных кнопок, меток и полей редактирования
- •Пример 2. Диалоговые окна
- •Пример 1. Радиокнопки
- •Текст файла Unit1.Pas
- •Пример 2. Использование компонента CheckBox
- •Текст файла Unit1.Pas
- •Пример 3. Калькулятор
- •Пример 1. Строка состояния
- •Пример 2. Системные диалоги. Загрузка текстового файла
- •Пример 3. Системные диалоги. Изменение параметров шрифта
- •Способ 2
- •Пример 2. Геометрические фигуры. Типы заливок
- •Пример 3. Построение графика функции на канве. Преобразование координат
- •Пример 1. Загрузка графических изображений
- •Пример 2. Компонент Timer
Пример 2. Использование компонента CheckBox
В этом примере мы создадим приложение, позволяющее изменять начертания шрифта, которым выводится текст, путем установки соответствующих флажков. При вводе текста в поле редактирования и нажатии кнопки «Показать» введенный текст отображается в метке, при установке флажков текст становится наклонным, полужирным, подчёркнутым и перечёркнутым, а при нажатии на кнопку «Стереть» текст стирается.
В приложении должно быть 2 компонента Label, один компонентEdit, 4 компонента CheckBox и две стандартные кнопки.
Расположите компоненты на форме и установите для них свойства Caption и Text как показано на следующем рисунке:
Метка для отображения текста расположена ниже поля редактирования (на рисунке почти не заметна).
Напишите процедуры для кнопок «Показать» и «Стереть» как указано в условии задачи.
Теперь приступим к написанию процедур для обработки событий, связанных с включением и выключением флажков.
Выполните двойной щелчок на компоненте CheckBox1, после этого в окне редактора кода появится заготовка процедуры по обработке события TForm2.CheckBox1Click – щелчок по компоненту CheckBox. Между операторными скобками введём следующий текст:
if CheckBox1.Checked = true then Label2.Font.Style := Label2.Font.Style + [fsBold] else Label2.Font.Style := Label2.Font.Style - [fsBold] ; |
Свойство Checked компонента ChekBox определяет, является ли данный компонент включённым или выключенным. Свойство Style компонента Label определяет стиль начертания шрифта, используемого для отображения текста, и может принимать следующие значения:
[] – обычный;
[fsBold] – полужирный;
[fsItalic] – наклонный;
[fsUnderline] – подчёркнутый;
[fsStrikeOut] – перечёркнутый.
Обратите внимание! Свойство Style (как и многие другие свойства визуальных компонентов) является множеством и, следовательно, с ним можно осуществлять стандартные операции предусмотренные для множеств, например, добавления элемента в множество и исключения элемента из множества. В приведенном выше примере к текущему значению множестваLabel2.Font.Style добавляется или исключается элемент [fsBold] в зависимости от значения свойства Checked. Тем самым обеспечивается изменение начертания шрифта, которым отображается текст метки Label2.
Напишите процедуры для оставшихся компонентов CheckBox.
Вид приложения во время его выполнения:
Текст файла Unit1.Pas
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Label2: TLabel; Button1: TButton; Button2: TButton; CheckBox3: TCheckBox; CheckBox4: TCheckBox; procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure CheckBox3Click(Sender: TObject); procedure CheckBox4Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin Label2.Caption := Edit1.Text ; end;
procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked = true then Label2.Font.Style := Label2.Font.Style + [fsBold] else Label2.Font.Style := Label2.Font.Style - [fsBold] ; end;
procedure TForm1.CheckBox2Click(Sender: TObject); begin if CheckBox2.Checked=true then Label2.Font.Style := Label2.Font.Style + [fsItalic] else Label2.Font.Style := Label2.Font.Style - [fsItalic] ; end;
procedure TForm1.CheckBox3Click(Sender: TObject); begin if CheckBox1.Checked=true then Label2.Font.Style := Label2.Font.Style + [fsUnderline] else Label2.Font.Style := Label2.Font.Style - [fsUnderline] ; end;
procedure TForm1.CheckBox4Click(Sender: TObject); begin if CheckBox1.Checked=true then Label2.Font.Style := Label2.Font.Style + [fsStrikeOut] else Label2.Font.Style := Label2.Font.Style - [fsStrikeOut] ; end;
procedure TForm1.Button2Click(Sender: TObject); begin Label2.Caption := ' '; end;
end. |
