![]() |
Delphi-Version: 10.3 Rio
abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Ist eigentlich banal, kein Compiler-Fehler, kein Laufzeitfehler, trotzdem sehe ich das dynamisch erzeugte Label nicht. Hab nichts gefunden im Netz, was mein Hirn erhellt. Kann mir einer/eine helfen?
Delphi-Quellcode:
unit UnitMain;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TFlatBtn = class(TLabel) private procedure LabelPerfClick(Sender: TObject); public constructor Create(AOwner: TComponent); override; end; TForm1 = class(TForm) procedure FormShow(Sender: TObject); private MyBtn: TFlatBtn; public end; var Form1: TForm1; implementation {$R *.dfm} procedure TFlatBtn.LabelPerfClick(Sender: TObject); begin ShowMessage('Klappt'); end; constructor TFlatBtn.Create (AOwner: TComponent); begin inherited Create (AOwner); Left := 0; Top := 0; Width := 200; Height := 200; Alignment := taCenter; Anchors := []; AutoSize := False; ParentColor := False; Transparent := False; Color:=clRed; Layout := tlCenter; StyleElements := []; WordWrap:=true; Visible:=true; Enabled:=true; OnClick:=LabelPerfClick; end; procedure TForm1.FormShow(Sender: TObject); begin MyBtn:=TFlatBtn.Create(Form1); MyBtn.Name:='MyName'; end; end. |
AW: abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Liegt vielleicht an der leeren Caption?
|
AW: abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Und am fehlenden Parent?
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin MyBtn:=TFlatBtn.Create(self); MyBtn.Caption := 'Wuppdi'; MyBtn.Parent := self; MyBtn.Name:='MyName'; end; |
AW: abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Vielen Dank an beide! Problem leider nicht gelöst. Das Label ist nicht nur nicht sichtbar, sondern nicht da. Wenn ich in die obere linke Ecke klicke (TopLeft 0/0 BottomRight 200/200) müsste ja ShowMessage kommen, wenn z.B. das Label nur transparent wäre. Aber es tut nix.
|
AW: abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Bist du denn mal mit dem Debugger Schritt für Schritt (F7) durchgegangen?
Grüße Dalai |
AW: abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Hallo,
Setz mal Width direkt.oder AutoSize auf True. |
AW: abgeleitete visuelle Klasse (TLabel) nicht sichtbar
Danke an alle, Problem gelöst, MyBtn.Parent:=self war doch die Lösung, wie DeddyH vorgeschlagen hatte. Dass es zunächst nicht geklappt hat, lag daran, dass mir die Verknüpfung von OnShow mit der zugehörigen Prozedur abhanden gekommen war, warum auch immer. Da passierte nach jedem Änderungsversuch - nichts. So, ich kann jetzt glücklich in die neue Woche starten. Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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