1. Откройте проект из примера 3.9 и дополните его кнопкой «Очистить». Кнопка «Очистить» должна очищать текст метки (Свойству Caption присвоить значение пустой строки: ""). Сделайте случайным выбор цвета и размера шрифта у метки.
Откроем программу из примера 3.9 или выполним все действия, описанные в примере 3.9, чтобы получилась программа, в которой по нажатию кнопки «Приветствие» в форме появляется текст «Здравствуй, мир!».
Создадим кнопку «Очистить», добавим для неё обработчик клика и запишем команду очистки текста label1.Text := '';
. В обработчик кнопки «Приветствие» добавим команды для изменения свойств ForeColor
(цвет текста) и Font
(шрифт). В нашем случае new System.Drawing.Font()
принимает два аргумента: первый — название шрифта, второй — размер шрифта. Размер шрифта установим случайным числом от 10 до 20, для этого воспользуемся выражением 10 + rnd.next(10)
, где rnd.next(10)
выдаст случайное число от 0 до 10, к полученному числу прибавится ещё 10 — получится диапазон от 10 до 20.
Unit Unit1;
interface
uses System, System.Drawing, System.Windows.Forms;
type
Form1 = class(Form)
procedure button1_Click(sender: Object; e: EventArgs);
procedure button2_Click(sender: Object; e: EventArgs);
{$region FormDesigner}
private
{$resource Unit1.Form1.resources}
button1: Button;
button2: Button;
label1: &Label;
{$include Unit1.Form1.inc}
{$endregion FormDesigner}
public
constructor;
begin
InitializeComponent;
end;
end;
implementation
procedure Form1.button1_Click(sender: Object; e: EventArgs);
begin
var rnd: Random := new Random();
label1.Font := new System.Drawing.Font('Microsoft Sans Serif', 10 + rnd.next(10));
label1.ForeColor := Color.FromArgb(255, rnd.next(256), rnd.next(256), rnd.next(256));
label1.Text := 'Здравствуй, мир!';
end;
procedure Form1.button2_Click(sender: Object; e: EventArgs);
begin
label1.Text := '';
end;
end.
Скачать готовый проект Pascal: Upr2-1.rar.
Чтобы при нажатии на кнопку «Приветствие» текст сохранял жирность и курсив, замените эти строки:
label1.Font := new System.Drawing.Font('Microsoft Sans Serif', 10 + rnd.next(10));
на эти:
label1.Font := new System.Drawing.Font('Microsoft Sans Serif', 10 + rnd.next(10), FontStyle.Bold or FontStyle.Italic);