- •Глава 4. Базовые компоненты интерфейса
- •4.1. Компонент форма
- •4.1.1. Основные свойства формы
- •4.1.2. Разновидности форм
- •4.1.3. События формы
- •4.1.4. Методы формы
- •4.2. Создание пиктограммы для приложения
- •4.3. Общие свойства и события визуальных компонентов
- •4.3.1. Иерархия классов Delphi
- •4.3.1. Ключевые свойства элементов управления
- •4.3.2. Виды событий для элементов управления
- •4.4. Определение принадлежности к классу и приведение типов
- •4.5. Компоненты для отображения текста
- •4.5.1. Компонент метка Label
- •4.5.2. Компонент текстовая метка StaticText
- •4.6. Кнопки
- •4.6.1. Стандартная кнопка Button
- •4.6.2. Кнопка с рисунком BitBtn
- •4.6.3. Кнопка с фиксацией SpeedButton
- •4.7. Image – компонент для работы с изображениями
- •Image1.Picture.LoadFromFile('картинка.Bmp);
- •Interface
- •Implementation
- •Interface
- •Implementation
- •4.8. Поддержка справочной службы - всплывающие подсказки
- •Контрольные вопросы
- •Лабораторная работа
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
Image2: TImage;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Implementation
{$R *.dfm}
//Обработчик события Create для формы
procedure TForm1.FormCreate(Sender: TObject);
begin
//Программное задание свойств Image1
Image1.Proportional:=true;
Image1.Center:=true;
//Программное задание свойств Image2
Image2.Proportional:=true;
Image2.Center:=true;
Image2.Visible:=false;
//Программное задание надписи для кнопки
Button1.Caption:='pic1.jpg';
end;
//Обработчик нажатия на кнопку
procedure TForm1.Button1Click(Sender: TObject);
begin
if Image1.Visible
then //если Image1 видим
begin
Image1.Visible:=false; //Image1 невидим
Image2.Visible:=true; //Image2 видим
Button1.Caption:='pic2.jpg'; //меняем надпись у кнопки
end
else //если Image1 невидим
begin
Image2.Visible:=false; //Image2 невидим
Image1.Visible:=true; //Image1 видим
Button1.Caption:='pic1.jpg'; //меняем надпись у кнопки
end
end;
end.
Листинг 4.2. Смена изображений методом LoadFromFile().
unit Unit1;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Implementation
{$R *.dfm}
var
number: 1..2;//переменная содержит номер выводимой картинки
//Обработчик события Create для формы
procedure TForm1.FormCreate(Sender: TObject);
begin
//Программное задание свойств Image1
Image1.Proportional:=true;
Image1.Center:=true;
Image1.Picture.LoadFromFile('pic1.jpg');
//Задание значения переменной
number:=1;
//Программное задание надписи для кнопки
Button1.Caption:='pic1.jpg';
end;
//Обработчик нажатия на кнопку
procedure TForm1.Button1Click(Sender: TObject);
begin
if number=1
then //если отображается первое изображение
begin
//Загрузка второго файла с картинкой в Image1
Image1.Picture.LoadFromFile('pic2.jpg');
number:=2; //меняем номер выводимой картинки
Button1.Caption:='pic2.jpg'; //меняем надпись у кнопки
end
else //если отображается второе изображение
begin
//Загрузка первого файла с картинкой в Image1
Image1.Picture.LoadFromFile('pic1.jpg');
number:=1; //меняем номер выводимой картинки
Button1.Caption:='pic1.jpg'; //меняем надпись у кнопки
end
end;
end.
Замечание. В исполнительной части модуля присутствует раздел описания переменной number, т.к. к этой переменной должны иметь доступ обе процедуры этого модуля.