AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formcreate für Frame

Ein Thema von P4CM4N · begonnen am 20. Jun 2007 · letzter Beitrag vom 25. Jul 2007
Antwort Antwort
P4CM4N

Registriert seit: 14. Jun 2007
49 Beiträge
 
#1

Formcreate für Frame

  Alt 20. Jun 2007, 18:57
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Formcreate für Frame

  Alt 20. Jun 2007, 19:52
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
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#3

Re: Formcreate für Frame

  Alt 20. Jun 2007, 19:56
Zitat von P4CM4N:
sobald man das Frame öffnet
Dann suchst du eher das Ereignis OnShow!
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: Formcreate für Frame

  Alt 19. Jul 2007, 12:58
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.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Formcreate für Frame

  Alt 19. Jul 2007, 17:13
Reicht's nicht enfach, den Konstruktor zu überschreiben?

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Formcreate für Frame

  Alt 19. Jul 2007, 17:45
Hallo,

man könte auch noch die Methode Delphi-Referenz durchsuchenAfterConstruction überschreiben. Diese wird aufgerufen, nachderm der letzte Konstruktor des Frames aufgerufen wurde. Den Aufruf der geerbten Routine sollte man dabei nicht vergessen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#7

Re: Formcreate für Frame

  Alt 19. Jul 2007, 17:55
Danke für die Tipps. Werd's bei Gelegenheit mal probieren.
  Mit Zitat antworten Zitat
LuckySpacy

Registriert seit: 2. Apr 2003
Ort: Fränkisch-Crumbach
50 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Formcreate für Frame

  Alt 25. Jul 2007, 14:34
Hi,
ich würde das Problem so lösen:

Delphi-Quellcode:
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;
Somit dürfte man ein Frame um das Event OnShow erweitert haben.


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:
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;
[edit=SirThornberry]Beide Ergüsse zusammengeführt - Mfg, SirThornberry[/edit]
Thomas Bachmann
  Mit Zitat antworten Zitat
Alt 25. Jul 2007, 14:59     Erstellt von LuckySpacy
Dieser Beitrag wurde von gelöscht.
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Formcreate für Frame

  Alt 25. Jul 2007, 15:25
@LuckySpacy: Könntest du nächstes mal bitte verwenden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:27 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