Thema: Delphi Komponente gesucht

Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Komponente gesucht

  Alt 5. Mai 2004, 19:49
Ein Formular mit ListBox, Edit und Button-Control und unteren Code sollte dir das prinzip verdeutlichen.
Das Bild mußt Du natürlich selbst noch einzeichnen, sollte aber auch kein Problem darstellen.

Code:
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Edit1: TEdit;
    Button1: TButton;
    procedure ListBox1MeasureItem(Control: TWinControl; Index: Integer;
      var Height: Integer);
    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
  var Height: Integer);
begin
  Height := Index * 10;
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  Height: Integer;
begin
  Height := ListBox1.Canvas.TextHeight(ListBox1.Items[Index]);

  ListBox1.Canvas.FillRect(Rect);
  ListBox1.Canvas.Font.Size := MulDiv(ListBox1.Canvas.Font.Size, Index*10, Height);
  ListBox1.Canvas.TextOut(Rect.Left, Rect.Top, ListBox1.Items[Index]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Add(Edit1.Text);
end;
  Mit Zitat antworten Zitat