![]() |
Formcreate für Frame
Hi,
gibt es ein Framecreate? D.h. sobald man das Frame öffnet wird eine bestimmt Prozedur ausgeführt. Bisher habe ich es mit dem Event Onclick aber da man da ja erst, wie der Name schon sagt klicken muss finde, ich das nicht so gut. Thx |
Re: Formcreate für Frame
Hallo Pacman,
es gibt kein OnCreate() bei Frames. Du solltest einen Frame eher mit einem Panel vergleichen und nicht mit einer Form. Grüße vom marabu |
Re: Formcreate für Frame
Zitat:
|
Re: Formcreate für Frame
Stell mir auch grad die gleiche Frage, ob es da nicht was gibt.
Bisher mache ich es so, dass ich halt 'ne "InitializeFrame"-Funktion per Hand mache und die in den Public-Teil haue und halt aufrufe, nachdem der Frame erstellt wurde bzw. im OnCreate des Formulars, das den Frame beinhaltet. @fLaSh11: Kann sein, dass ich dich falsch verstehe, aber Frames haben bei mir kein OnShow. :gruebel: |
Re: Formcreate für Frame
Reicht's nicht enfach, den Konstruktor zu überschreiben?
Uli. |
Re: Formcreate für Frame
Hallo,
man könte auch noch die Methode ![]() Gruß Hawkeye |
Re: Formcreate für Frame
Danke für die Tipps. Werd's bei Gelegenheit mal probieren.
|
Re: Formcreate für Frame
Hi,
ich würde das Problem so lösen:
Delphi-Quellcode:
Somit dürfte man ein Frame um das Event OnShow erweitert haben.
type
TFrame2 = class(TFrame) private FOnShow: TNotifyEvent; procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED; public published property OnShow: TNotifyEvent read FOnShow write FOnShow; end; implementation {$R *.dfm} { TFrame2 } procedure TFrame2.CMShowingChanged(var Message: TMessage); begin inherited; if Showing then if Assigned(FOnShow) then FOnShow(Self); end; Zweiter Teil (zusammenführung bitte durch den Verfasser der beiden Teile) (mit der Edit-Funktion) Bin gerade dabei mich mit diesem Thema zu beschäftigen. Wenn man darauf reagieren möchte, wann sich ein Frame Sichtbar oder Unsichtbar schaltet dann vielleicht so:
Delphi-Quellcode:
[edit=SirThornberry]Beide Ergüsse zusammengeführt - Mfg, SirThornberry[/edit]
type
TFrame2 = class(TFrame) Label1: TLabel; Edit1: TEdit; private FOnShow: TNotifyEvent; FOnVisible: TNotifyEvent; FOnVisibleChanged: TNotifyEvent; FOnHide: TNotifyEvent; procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED; procedure CMVISIBLECHANGED(var Message: TMessage); message CM_VISIBLECHANGED; public published property OnShow: TNotifyEvent read FOnShow write FOnShow; property OnVisible: TNotifyEvent read FOnVisible write FOnVisible; property OnHide: TNotifyEvent read FOnHide write FOnHide; property OnVisibleChanged: TNotifyEvent Read FOnVisibleChanged write FOnVisibleChanged; end; implementation {$R *.dfm} { TFrame2 } procedure TFrame2.CMShowingChanged(var Message: TMessage); begin inherited; if Showing then if Assigned(FOnShow) then FOnShow(Self); end; procedure TFrame2.CMVISIBLECHANGED(var Message: TMessage); begin inherited; if Assigned(FOnVisibleChanged) then FOnVisibleChanged(Self); if Visible then begin if Assigned(FOnVisible) then FOnVisible(Self); end else begin if Assigned(FOnHide) then FOnHide(Self); end; end; |
Re: Formcreate für Frame
@LuckySpacy: Könntest du nächstes mal bitte http://www.delphipraxis.net/template.../icon_edit.gif verwenden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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