AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Komponente: TPanel mit optionalen Labels im Panel
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente: TPanel mit optionalen Labels im Panel

Offene Frage von "NoGAD"
Ein Thema von NoGAD · begonnen am 21. Mai 2022 · letzter Beitrag vom 23. Mai 2022
Antwort Antwort
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#1

Komponente: TPanel mit optionalen Labels im Panel

  Alt 21. Mai 2022, 22:04
Hallo,

um mir meine Arbeit leichter zu machen. würde ich mir gerne ein Panel als Komponente erstellen, welches Labels aufnimmt.

Leider weiß ich nicht so recht, wie ich da anfangen muss.

Im Endeffekt hätte ich gerne MyPanel.LabelAdd; , was zu einem neuen Label im Panel führt.

Kann mir jemand einen Tipp geben, wie man das umsetzt?

LG Mathias
Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
492 Beiträge
 
Delphi 12 Athens
 
#2

AW: Komponente: TPanel mit optionalen Labels im Panel

  Alt 21. Mai 2022, 22:48
Meinst du zur Laufzeit?
Erstelle dir einfach einen classhelper.
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Komponente: TPanel mit optionalen Labels im Panel

  Alt 21. Mai 2022, 22:49
Hallo Bernd,

ich möchte es gerne als eigene Komponente erstellen.

LG Mathias
Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Komponente: TPanel mit optionalen Labels im Panel

  Alt 21. Mai 2022, 23:48
Hier ist mal ein Test, wie ich es mir vorstelle.

Aber der Code ist natürlich kompletter Unsinn - ich weiß nur leider nicht, wie das richtig gemacht wird, die Darstellung für die Komponente ist erst einmal nur ein Test.

Z.B. der Name der Labels - wie können die automatisch einen bekommen?
Lasse ich den Namen weg, gibt es die nicht.

Ich würde den Labels gerne selbst einen Namen geben, vielleicht direkt bei der Erstellung - oder erst danach?
Keine Ahnung, wie das funktioniert.

Delphi-Quellcode:
unit My_PanelLabel;

interface

uses
  System.SysUtils, System.Classes, Vcl.Controls, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Graphics;

type
  TMy_PanelLabel = class;

  TMy_PanelLabel = class(TPanel)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    function AddLabel(AOwner: TComponent): TLabel;
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

function TMy_PanelLabel.AddLabel(AOwner: TComponent): TLabel;
begin
  Result := TLabel.Create(AOwner);
  Result.Name := AOwner.Name + '_' + AOwner.ComponentCount.ToString;
  Result.Parent := Self;
  Result.Align := alLeft;
  Result.AutoSize := True;
  Result.AlignWithMargins := True;
  Result.Alignment := taCenter;
  Result.Layout := tlCenter;
  Result.Transparent := False;
  case (AOwner.ComponentCount mod 2) = 0 of
    True:
      Result.Color := clLime;
    False:
      Result.Color := clYellow;
  end;
end;

procedure Register;
begin
  RegisterComponents('Test', [TMy_PanelLabel]);
end;

end.
Mathias
Ich vergesse einfach zu viel.

Geändert von NoGAD (21. Mai 2022 um 23:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Komponente: TPanel mit optionalen Labels im Panel

  Alt 22. Mai 2022, 00:48
Hallo nochmal.


Ich habe eben bei der Recherche das TFlowPanel entdeckt. Das ist im Prinzip das, was ich auch machen wollte, Labels hintereinander automatisch anordnen.

Ich würde mich, trotz des "Fundes" dennoch freuen, wenn ich lernen würde, wie man so eine Komponente richtig erstellt.

LG Mathias
Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.034 Beiträge
 
Delphi 12 Athens
 
#6

AW: Komponente: TPanel mit optionalen Labels im Panel

  Alt 22. Mai 2022, 15:11
Hallo,

sollte nicht das Panel auf dem das Label platziert wird in deinem Fall der Owner des Labels sein?
Dann wäre dieser AOwner Parameter überflüssig...

Grüße
TurboMagic
  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 09:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz