AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LabelPanel dringend gesucht!

Ein Thema von nemo2003 · begonnen am 12. Feb 2004 · letzter Beitrag vom 12. Feb 2004
Antwort Antwort
Seite 2 von 2     12   
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#11

Re: LabelPanel dringend gesucht!

  Alt 12. Feb 2004, 14:31
Hier mal ein grober Anfang der Klasse.
Delphi-Quellcode:
TLabelPanel = class(TCustomPanel)
  private
    FLabels: TObjectList;
    FItems: TStrings;
    procedure SetItems(Value: TStrings);
  public
    constructor Create(aOwner : TComponent); override;
    destructor Destroy; override;
    property Items: TStrings read FItems write SetItems;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von nemo2003
nemo2003

Registriert seit: 28. Nov 2003
Ort: Gelsenkirchen
37 Beiträge
 
Delphi 7 Personal
 
#12

Re: LabelPanel dringend gesucht!

  Alt 12. Feb 2004, 14:41
und die .create methode eta so, richtig?
dann bin ich auf dem richtigen dampfer...

Delphi-Quellcode:
procedure TLabelPanel.CreateLabels(aValues:TStringList);
var count:integer;
    DaLabel:TLabel;
begin
  for count:=0 to aValues.Count do
  begin
    DaLabel:=TLabel.create(nil);
    DaLabel.Caption:=aValues.Strings[count];
// etc...
  end;

end;
mfg aus Krefeld
nemo2003
Bitte besucht meine Homepage unter http://www.beatjugglers-ge.de.vu
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#13

Re: LabelPanel dringend gesucht!

  Alt 12. Feb 2004, 14:45
Ich würde mich mal nur in dem SetItems um die Labels kümmern:
Delphi-Quellcode:
constructor TMultiLinePanel.Create(aOwner: TComponent);
begin
  inherited Create(aOwner);
  FLabels := TObjectList.Create(true);
  FItems := TStringList.Create;
end;

destructor TMultiLinePanel.Destroy;
begin
  if Assigned(FLabels) then begin
    FLabels.Free;
  end;
  if Assigned(FItems) then begin
    FItems.Free;
  end;
  inherited Destroy;
end;

procedure TMultiLinePanel.SetItems(Value: TStrings);
var
  aLabel : TLabel;
  i : integer;
begin
  FLabels.Clear;
  for i := 0 to Value.Count - 1 do begin;
    aLabel := TLabel.Create(nil);
    aLabel.Parent := self;
    aLabel.AutoSize := true;
    aLabel.Top := self.Height div (Value.Count + 1) * (i + 1);
    aLabel.Left := 8;
    aLabel.Caption := Value.Strings[i];
    FLabels.Add(aLabel);
  end;
  FItems.Text := Value.Text;
end;
So steuerst du das ganze:
Delphi-Quellcode:
  MyPanel := TMultiLinePanel.Create(self);
  MyPanel.Parent := self;
  ts := TStringList.Create;
  try
    ts.Add('bla');
    ts.Add('blubb');
    MyPanel.Items := ts;
  finally
    ts.Free;
  end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz