- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ImgList, Buttons, StdCtrls;
-
-
- type
- TForm1 = class(TForm)
- ListBox3: TListBox;
- SpeedButton1: TSpeedButton;
- ImageNiveau: TImageList;
- Label1: TLabel;
- Edit1: TEdit;
- Label2: TLabel;
- procedure ListBox3MeasureItem(Control: TWinControl; Index: Integer;
- var Height: Integer);
- procedure ListBox3DrawItem(Control: TWinControl; Index: Integer;
- Rect: TRect; State: TOwnerDrawState);
- procedure SpeedButton1Click(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- { Déclarations privées }
- public
- PicNiveau : Integer;
- lstimage : array of 0..5-1;
- Texte:String;
- LongeurLst:integer;
- { Déclarations publiques }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.dfm}
-
- procedure TForm1.ListBox3MeasureItem(Control: TWinControl; Index: Integer;
- var Height: Integer);
- begin
- //on ajuste la grosseur de l'item pour accueillir l'item
- height := ImageNiveau.Height + 4;
- end;
-
- procedure TForm1.ListBox3DrawItem(Control: TWinControl; Index: Integer;
- Rect: TRect; State: TOwnerDrawState);
- var
- CenterText : integer;
- begin
- With ListBox3.Canvas do
- begin
- ListBox3.Canvas.FillRect (rect);
- CenterText := ( rect.Bottom - rect.Top - ListBox3.Canvas.TextHeight(text)) div 2 ;
- ListBox3.Canvas.TextOut (rect.left + ImageNiveau.Width + 8 , rect.Top + CenterText,
- ListBox3.Items.Strings[Index]);
- // on donne la valeur a aller chercher dans liste d'image
- LstImage[LongeurLst-1]:= strtoint(Edit1.text);
- //on print l'image dans le canvas
- ImageNiveau.Draw(ListBox3.Canvas,rect.Left + 4, rect.Top + 4, LstImage[Index]);
- end;
- end;
-
- procedure TForm1.SpeedButton1Click(Sender: TObject);
- begin
- //On stock la donner
- inc(LongeurLst);
- SetLength(LstImage,LongeurLst);
- //on ajouter la donner
- ListBox3.AddItem('Nouvel Item',nil);
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- //on donne une valeur a l'integer LongeurLst
- LongeurLst :=0;
- end;
-
- end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, Buttons, StdCtrls;
type
TForm1 = class(TForm)
ListBox3: TListBox;
SpeedButton1: TSpeedButton;
ImageNiveau: TImageList;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
procedure ListBox3MeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
procedure ListBox3DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
PicNiveau : Integer;
lstimage : array of 0..5-1;
Texte:String;
LongeurLst:integer;
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ListBox3MeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
begin
//on ajuste la grosseur de l'item pour accueillir l'item
height := ImageNiveau.Height + 4;
end;
procedure TForm1.ListBox3DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
CenterText : integer;
begin
With ListBox3.Canvas do
begin
ListBox3.Canvas.FillRect (rect);
CenterText := ( rect.Bottom - rect.Top - ListBox3.Canvas.TextHeight(text)) div 2 ;
ListBox3.Canvas.TextOut (rect.left + ImageNiveau.Width + 8 , rect.Top + CenterText,
ListBox3.Items.Strings[Index]);
// on donne la valeur a aller chercher dans liste d'image
LstImage[LongeurLst-1]:= strtoint(Edit1.text);
//on print l'image dans le canvas
ImageNiveau.Draw(ListBox3.Canvas,rect.Left + 4, rect.Top + 4, LstImage[Index]);
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
//On stock la donner
inc(LongeurLst);
SetLength(LstImage,LongeurLst);
//on ajouter la donner
ListBox3.AddItem('Nouvel Item',nil);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//on donne une valeur a l'integer LongeurLst
LongeurLst :=0;
end;
end.