Алгоритмы
Идентичны шестой работе.
Лабораторная работа №10
Создание и использование собственных компонентов.
Задание: На основе компонента Tbutton, создать свой обладающий возможностью делать курсивный шрифт при наведении на него указателя мыши.
Интерфейс программы
На изображении 5.1 показано окно с собственным компонентом.
Рисунок 9.6
Код программы
Исходный код модуля с компонентом:
unit Button1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMyButton = class(TButton)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TMyButton]);
end;
constructor TMyButton.Create(AOwner: TComponent);
begin
inherited Create(Aowner);
Caption:= 'MyButton';
end;
end.
Исходный код программы:
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('работает');
end;
procedure TForm1.Button1MouseEnter(Sender: TObject);
begin
Font.Style:=[fsUnderline];
end;
procedure TForm1.Button1MouseLeave(Sender: TObject);
begin
if fsunderline in font.style then
font.style:= font.style - [fsunderline];
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
B:=TMyButton.Create(Form1);
b.Parent:= Form1;
b.OnMouseLeave:= Button1MouseLeave;
b.OnMouseEnter:= Button1MouseEnter;
b.OnClick:=Button1Click;
b.top:=y;
b.left:=x;
end;
Используемая литература.
Головин М.П. "Программирование на языке высокого уровня, современные технологии."
В. Фаронов "Программирование в Delphi."