- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, Buttons;
-
- type
- TForm1 = class(TForm)
- Panel1: TPanel;
- ListBox1: TListBox;
- SpeedButton1: TSpeedButton;
- Panel2: TPanel;
- Edit1: TEdit;
- Edit2: TEdit;
- Panel3: TPanel;
- Label1: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure SpeedButton1Click(Sender: TObject);
- procedure ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
- com:Tstringlist;
-
- implementation
-
- {$R *.dfm}
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- com:=TStringlist.Create;// Création de la stringlist contenant les commentaires
-
- end;
-
- procedure TForm1.SpeedButton1Click(Sender: TObject);
- begin
- listbox1.Items.Add(Edit1.Text);//On ajoute le texte qui va apparaitre
- com.Add(edit2.Text);//Et le commentaire qui lui correspond
- end;
-
- procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- var
- i:integer;
- begin
- i:=Y div Listbox1.ItemHeight;// I:= La position du curseur en Hauteur divisé par la hauteur d'un item
- //Donc i= le numéro de l'item survolé.
-
- if i>listbox1.Count-1 then begin
- Panel3.hide;
- exit //Pour ne pas créer d'erreur si i ne correspond à aucun item
- end else begin //Si c bon alors on positionne le panel
- Panel3.Left:=x-20;
- Panel3.Top:=y-10;
- Panel3.Caption:=' '+com.Strings[i]+' ';// LE texte du panel sera le commentaire correspondant à l'item
- Label1.Caption:=ListBox1.Items[i]+' : '+com.Strings[i];
- Panel3.Show;
- end end;
-
- procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- com.Free;
- end;
-
- end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
ListBox1: TListBox;
SpeedButton1: TSpeedButton;
Panel2: TPanel;
Edit1: TEdit;
Edit2: TEdit;
Panel3: TPanel;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
com:Tstringlist;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
com:=TStringlist.Create;// Création de la stringlist contenant les commentaires
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
listbox1.Items.Add(Edit1.Text);//On ajoute le texte qui va apparaitre
com.Add(edit2.Text);//Et le commentaire qui lui correspond
end;
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
i:integer;
begin
i:=Y div Listbox1.ItemHeight;// I:= La position du curseur en Hauteur divisé par la hauteur d'un item
//Donc i= le numéro de l'item survolé.
if i>listbox1.Count-1 then begin
Panel3.hide;
exit //Pour ne pas créer d'erreur si i ne correspond à aucun item
end else begin //Si c bon alors on positionne le panel
Panel3.Left:=x-20;
Panel3.Top:=y-10;
Panel3.Caption:=' '+com.Strings[i]+' ';// LE texte du panel sera le commentaire correspondant à l'item
Label1.Caption:=ListBox1.Items[i]+' : '+com.Strings[i];
Panel3.Show;
end end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
com.Free;
end;
end.