AGB  ·  Datenschutz  ·  Impressum  







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

Dynmaische Label finden

Ein Thema von TheMiller · begonnen am 10. Jul 2005 · letzter Beitrag vom 11. Jul 2005
Antwort Antwort
Robert_G
(Gast)

n/a Beiträge
 
#1

Re: Dynmaische Label finden

  Alt 11. Jul 2005, 00:09
Zitat von DJ-SPM:
wundert euch nicht, wenn ich momentan nix schreibe. Ich blicke garnicht mehr durch....

Habe oben den Code gepostet, wie ich ein Wort auf mehrere Dynamische Labels (Variable Buchstabe:TLabel) aufteile. Nur wie greife ich zu... keine Ahnung
Hast du dich nicht gewundert, wie das Form wissen kann, was es für Labels besitzt?
Das wird über den Owner gelöst.
Deshalb musst du das Formular, Panel, ... welches deine Labels besitzen soll auch im Constructor angeben.

Und wenn dich die zehntausend Stringvergleiche stören.
Hier eine simple TLabel-Ableitung:
Delphi-Quellcode:
   TDynLabel = class(TLabel)
   private
      fIndex: Integer;
      procedure setIndex(const aValue: Integer);
   public
      constructor Create(aOwner: TWinControl; aIndex: Integer); overload; virtual;
   published
      property Index: Integer read fIndex write setIndex;
   end;
Delphi-Quellcode:
constructor TDynLabel.Create(aOwner: TWinControl; aIndex: Integer);
begin
   inherited Create(aOwner);
   Parent := aOwner;
   Index := aIndex;
end;

procedure TDynLabel.setIndex(const aValue: Integer);
begin
   fIndex := aValue;
   Name := 'DynLabel' + IntToStr(Index);
end;
Jetzt kannst du deine Erzeugung der labels damit ersetzen:
Delphi-Quellcode:
for i := 1 to BuchstabenLabel.GetTextLen do
   with TDynLabel.Create(Self, i) do
   begin
      j := j + 20;

      Caption := Wort[i];
      Left := j;
      Top := 176;
   end;
Der Zugriff wäre damit ganz easy (schließlich weißt du ja, dass alle TDynLabels deine dyn. Labels sind ):
Delphi-Quellcode:
for i := 0 to ControlCount - 1 do
begin
   if Controls[i] is TDynLabel then
      with TDynLabel(Controls[i]) do
      begin
         if Index = 1 then
            ShowMessage('Ja');
      end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:19 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