Objectif : Application simple Delphi utilisant 9 événements de souris et de clavier sur un objet de classe TButton.
- Même exemple, code source en Java Swing
La fenêtre comporte un bouton (Button1:TButton), une étiquette (Label1:TLabel), une case à cocher (CheckBox1:TCheckBox) et un éditeur de texte mono-ligne (Edit1:TEdit):
Voici les 9 gestionnaires d'événements qui sont programmés sur le composant Button1 de classe TButton :
Voici le diagramme événementiel des actions de souris et de clavier sur le bouton Button1. Ces 9 actions sont programmées avec chacun des 9 gestionnaires ci-haut :
Le code source Delphi
Schémas UML du projet
unit ExempleButton;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
CheckBox1: TCheckBox;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button1Enter(Sender: TObject);
procedure Button1Exit(Sender: TObject);
procedure Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1KeyPress(Sender: TObject; var Key: Char);
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;var
Form1: TForm1;implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.text:='Toto';
end;procedure TForm1.Button1Enter(Sender: TObject);
begin
edit1.Color:=clred;
end;procedure TForm1.Button1Exit(Sender: TObject);
begin
edit1.Color:=clgreen;
end;procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
edit1.Text:='Bonjour';
end;procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
edit1.Text:='Salut';
end;procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);
begin
edit1.Font.Color:=clblue;
end;procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
label1.Caption:='La souris est enfoncée';
end;procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
label1.Caption:='La souris est relachée';
end;procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
checkbox1.Checked:=true;
end;end.