Delphi. Учимся на примерах | страница 51



Рис. 13.3. Отображение результата теста

Единственное, что осталось сделать, — реализовать имитацию нажатия кнопки при щелчке на панели мышью. Для того чтобы "оживить" панель, для нее следует создать обработчики двух событий: OnMouseDown и OnMouseUp. Первое событие возникает при щелчке мышью, а второе — при отпускании кнопки мыши. Для панели pi эти обработчики будут выглядеть следующим образом:

>procedure TForm1.p1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

>begin

> p1.BevelInner:= bvLowered;

> p1.BevelOuter:= bvRaised;

>end;


>procedure TForm1.p1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

>begin

> p1.BevelInner:=bvRaised;

> p1.BevelOuter:=bvLowered;

>end;

Для всех остальных панелей обработчики этих событий будут выглядеть аналогичным образом за исключением того, что имя p1 потребуется изменить на имя р2, p3, р4 или р5.

Программа тестирования в действии показана на рис. 13.4.

Рис. 13.4. Программа тестирования в действии

Полный исходный код модуля

Полный код модуля программы-теста представлен в листинге 13.1.

Листинг 13.1. Модуль программы-теста

>unit Unit1;


>interface


>uses

> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, IniFiles, jpeg, Menus;


>type TForm1 = class(TForm)

> Memo1: TMemo;

> RadioGroup1: TRadioGroup;

> p1: TPanel;

> p2: TPanel;

> p3: TPanel;

> p4: TPanel;

> p5: TPanel;

> an1: TRadioButton;

> an2: TRadioButton;

> an3: TRadioButton;

> an4: TRadioButton;

> Label1: TLabel;

> Label2: TLabel;

> MainMenu1: TMainMenu;

> N1: TMenuItem;

> N2: TMenuItem;

> N3: TMenuItem;

> N4: TMenuItem;

> Open1: TOpenDialog;

> procedure FormCreate(Sender: TObject);

> procedure p1Click(Sender: TObject);

> procedure p2Click(Sender: TObject);

> procedure p3Click(Sender: TObject);

> procedure p4Click(Sender: TObject);

> procedure p5Click(Sender: TObject);

> procedure Image1Click(Sender: TObject);

> procedure p1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

> procedure p1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

> procedure p2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

> procedure p2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

> procedure p3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

> procedure p3MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);