Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: erst 2.Fenster sichtbar machen, und dann aktion ausführe

  Alt 19. Apr 2004, 14:08
Du musst deinem Formular selbst eine benutzerdefinierte Message schicken:
Delphi-Quellcode:
  const
     UM_INIT = WM_USER + 100;

  TForm1 = class(TForm)
     protected
        procedure UM_INIT(var msg: TMessage); message UM_INIT;
  end;
Im Event OnShow schickst du deinem Formular selbst eine Message:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
   // zuerst eigen Dinge erledigen
   ....
 
   // schicke Message an eigenes Formular
   PostMessage(Self.Handle, UM_PSS_INIT, 0, 0);
end;
Sobald das Formular angezeigt wurde, wird die Message empfangen und verarbeitet:
Delphi-Quellcode:
procedure TForm1.UM_INIT(var msg: TMessage);
begin
   // hier deinen Programmcode einfügen
   // evtl. prüfen, ob die Arbeit schon getan wurde
   if init_done then
      Exit;
   ...
end;
Andreas
  Mit Zitat antworten Zitat