Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [Gelöst] Funktionaufruf in GUI-Designer (https://www.delphipraxis.net/193417-%5Bgeloest%5D-funktionaufruf-gui-designer.html)

I3estii 27. Jul 2017 12:38


[Gelöst] Funktionaufruf in GUI-Designer
 
Moin zusammen,

ich arbeite derzeit in XE5 an einer Komponente, wo ich mehrere Panel drin erzeuge, ich habe bereits eine
Delphi-Quellcode:
procedure Position
erstellt die mir die Panels an die richtige Position rückt.
Derzeit regel ich das im OI mit Doppelklick auf eine Property, bei der die Procedure ausgeführt wird, das wird mir aber langsam zu lästig.

mein Frage wäre nun, gibt es eine Möglichkeit, diese auch direkt aufzurufen wenn ich die Form mit der Komponente im GUI-Designer öffne?

himitsu 27. Jul 2017 12:52

AW: Funktionaufruf in GUI-Designer
 
OpenToolsAPI: Bei Google suchenota component editor

HolgerX 27. Jul 2017 12:58

AW: Funktionaufruf in GUI-Designer
 
Hmm..

versuche mal:
Delphi-Quellcode:
  ..
  protected
    procedure Resize; override;
  public
    procedure Paint; override;
  ...



procedure TMyComponent.Resize;
begin
  inherited;
  Position;
end;

procedure TMyComponent.Paint;
begin
  inherited;
  Position;
end;
Eventuell kann auch Resize weggelassen werden, da eigentlich das Paint dann neu aufgerufen wird.

I3estii 28. Jul 2017 07:25

AW: Funktionaufruf in GUI-Designer
 
Danke erstmal für die Antworten. :)

1. Das mit OTA werde ich mir mal im Laufe der Tage ansehen

2. Das mit Paint klappte nicht, da ich die Componente von
Delphi-Quellcode:
TComponent
abgeleitet habe.

jaenicke 28. Jul 2017 08:04

AW: Funktionaufruf in GUI-Designer
 
Zitat:

Zitat von I3estii (Beitrag 1377670)
2. Das mit Paint klappte nicht, da ich die Componente von
Delphi-Quellcode:
TComponent
abgeleitet habe.

Das hört sich komisch an, denn ableiten von TComponent ist normalerweise nur bei nicht visuellen Komponenten sinnvoll.
Die Folge davon ist auch, dass du deine Panels nicht auf der Komponente liegen hast, sondern lose auf dem Formular. Sonst könnte man die auch als Gruppe verschieben usw.

I3estii 28. Jul 2017 08:17

AW: Funktionaufruf in GUI-Designer
 
Zitat:

Zitat von jaenicke (Beitrag 1377672)
Die Folge davon ist auch, dass du deine Panels nicht auf der Komponente liegen hast, sondern lose auf dem Formular.

Genau, ich habe immer ein festes "Design" für die festgelegt.

Derzeit ist es so, das wenn ich die Komponente auf die Form lege, wird sie korrekt angezeigt. Wenn ich ein anderes Projekt öffne um dort zuarbeiten und später auf das Projekt mit der Komponente wechsel belegen die Panels nicht die gesamte Form sonder nur 1/4 von der oberen-linken Ecke aus.
Dann drücke ich halt im OI eine Property und es wird korrekt angezeigt, sowas bräuchte ich halt auch, wenn die Form im GUI-Designer geöffnet wird.

jaenicke 28. Jul 2017 08:55

AW: Funktionaufruf in GUI-Designer
 
Ohne Quelltext lässt sich dazu nicht viel sagen, aber falls du dynamisch positioniert, müsstest du vielleicht Loaded überschreiben und auch dort die Positionierung machen. Das Event kommt nach dem Laden der Komponente.

Trotzdem hört sich das alles so an als sei die Ableitung von TComponent unpassend und als würde ein anderer (visueller) Basistyp oder auch schlicht ein Frame besser geeignet sein.

I3estii 28. Jul 2017 09:15

AW: Funktionaufruf in GUI-Designer
 
Klappt hervorragen mit Loaded, danke dir.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 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