1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
ExtCtrls; // cette unité contient le composant TImage
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ private declarations }
LI: Integer; // variable de travail
MyImage: TImage; // mon image
procedure MyWork(Sender: TObject); // c'est le travail à effectuer en cas de clic
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
// *** création de la fiche ***
begin
// On crée l'image avec la fiche comme propriétaire
// La fiche est indiquée par Self (fourni par l'application)
MyImage := TImage.Create(Self);
// Il lui faut des dimensions pour pouvoir exister
MyImage.Height := 47; // sa hauteur
MyImage.Width := 280; // sa largeur
// je mets quelque chose dans l'image (pour la voir !)
MyImage.Picture.LoadFromFile('dev.gif');
// j'ajuste l'image
MyImage.Stretch := True;
// Il lui faut aussi un parent pour s'afficher
MyImage.Parent := Self; // c'est la fiche
// On indique quel est le gestionnaire OnClick de l'image
MyImage.OnClick := @MyWork;
end;
procedure TForm1.MyWork(Sender: TObject);
// *** en cas de clic sur l'image ***
// L'en-tête de la procédure est EXACTEMENT celui de OnClick
begin
// Là, je fais mon travail : la couleur de la fiche change à chaque clic
Inc(LI);
LI := LI mod 3;
case LI of
0: Form1.Color := clRed;
1: Form1.Color := clBlue;
2: Form1.Color := clYellow;
end;
end;
end. |
Partager