AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Einfaches abgeleitetes Control unter FMX / Delphi 11
Thema durchsuchen
Ansicht
Themen-Optionen

Einfaches abgeleitetes Control unter FMX / Delphi 11

Ein Thema von friedt99 · begonnen am 8. Nov 2021 · letzter Beitrag vom 12. Nov 2021
 
friedt99

Registriert seit: 17. Mär 2010
45 Beiträge
 
#1

Einfaches abgeleitetes Control unter FMX / Delphi 11

  Alt 8. Nov 2021, 19:27
Hallo Zusammen,

ich versuche gerade ein einfaches Control von TRectangle abzuleiten.

Delphi-Quellcode:
unit itfAppControls;

interface

uses
  System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Objects,FMX.StdCtrls,
  System.UITypes,FMX.MultiResBitmap,FMX.Graphics;

type
  TAppImageButtonTest = Class(TRectangle)
  private
    ccImage:TImage;
    ccImageTextSettings:TTextSettings;

    procedure SetImageTextSettings(pcValue:TTextSettings);
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property ImageTextSettings:TTextSettings read ccImageTextSettings write SetImageTextSettings;
  End;

procedure Register;

implementation

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Imagebutton Compound
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
constructor TAppImageButtonTest.Create(AOwner: TComponent);
begin
  Inherited;
  ccImageTextSettings:=TTextSettings.Create(Self);

  ccImage:=TImage.Create(Self);
  ccImage.Parent:=Self;
  ccImage.Align:=TAlignLayout.Client;
  ccImage.HitTest:=FALSE;
end;

destructor TAppImageButtonTest.Destroy;
begin
  ccImageTextSettings.Free;
  ccImage.Free;
  Inherited;
end;

procedure TAppImageButtonTest.SetImageTextSettings(pcValue:TTextSettings);
begin
  ccImageTextSettings.Assign(pcValue);
end;

procedure Register;
begin
  RegisterComponents('Sample', [TAppImageButtonTest]);
end;

end.
klappt auch soweit, aber ich habe 2 Probleme:

1.)
Die Eigenschaft ImageTextSettings wird im Objektinspektor angezeigt, klappt aber nicht auf.
Das verstehe ich nicht. TTextSettings stammt von TPersistent ab, sollte doch also im
Objektinspektor editierbar sein.

2.)
Wenn ich das Control auf ein Formular setze ist alles OK (bis auf die ImageTextSettings).
In der Strukturansicht sieht das so aus:

Delphi-Quellcode:
Form1
   AppImageButtonTest1
Wenn ich das Formular speichere, schließe und wieder öffne, dann wird beim Anklicken des neuen Controls
das intern erstellte TImage angezeigt als "<unbenannt> TImage". In der Strukturansicht sieht das dann so aus:

Delphi-Quellcode:
Form1
   AppImageButtonTest1
       <Komponenten[I]>
             MultiResBitmap
in der VCL taucht ein intern in dem Parent Control erzeugtes anderes Control (mit Owner = Self) nirgends
auf. Wie bekomme ich das unter FMX (Designtime) auch hin ?

Grüße

Thomas

Geändert von friedt99 ( 8. Nov 2021 um 19:39 Uhr)
  Mit Zitat antworten Zitat
 


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 13:37 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