Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TAfterShow Komponente (https://www.delphipraxis.net/53256-taftershow-komponente.html)

static_cast 13. Sep 2005 09:26


TAfterShow Komponente
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hoi,

okay was gibt es viel dazu zu sagen der Name erklärt ja schon einiges ;)

Die Komponente wird einfach auf die Form gepackt und dann könnt ihr den OnAfterShow Event nutzen (Code ausführen sobald die Form sichtbar ist).

Ich brauche diese Möglichkeit ständig, deswegen hab ich jetzt jene Komponente erstellt :)

Grüße
Daniel

shmia 13. Sep 2005 10:30

Re: TAfterShow Komponente
 
Nicht schlecht. :cheers:
Du könntest noch die unbenutzen Units (z.B. Graphics, Controls) entfernen.
Ausserdem sollte man überall statt mit TForm mit TCustomForm arbeiten.
Solltest du auf Properties von TCustomForm nicht zugreifen können, weil diese Protected sind,
gibt es noch einen Trick.
Delphi-Quellcode:
implementation
type
   TcustomFormCracker = class(TcustomForm)
   end;
constructor TAfterShow.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  if AOwner is TForm then
  begin
    FForm            := TcustomFormCracker(AOwner);
    FOnShow          := FForm.OnShow;

static_cast 13. Sep 2005 11:43

Re: TAfterShow Komponente
 
Hi,

danke für das Feedback :)

Die Sache mit TCustomForm hatte ich anfangs auch schon überlegt selbst an TWinControl aber das erschien mir dann doch etwas zu Tief... wo bräuchte man sowas schon?

kingflo 14. Sep 2005 15:27

Re: TAfterShow Komponente
 
Sehr sehr geil die werde ich jetzt wohl auch öfter benutzen.

Flocke 14. Sep 2005 15:37

Re: TAfterShow Komponente
 
Um Konflikten mit selbstdefinierten WM_USER Messages aus dem Weg zu gehen, könntest du noch RegisterWindowMessage benutzen - dann kann die Meldung nicht mehr falsch interpretiert werden.

static_cast 14. Sep 2005 19:44

Re: TAfterShow Komponente
 
@kingflo
Danke, danke.

@Flocke
Gute Idee! Vielen dank, ich hab es gleich umgeändert, ist auf jeden fall besser als WM_USER + 2000 :)


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