AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Wann wird eine Form angezeigt ?

Ein Thema von H.Bothur · begonnen am 24. Mär 2018 · letzter Beitrag vom 26. Mär 2018
Antwort Antwort
Seite 1 von 2  1 2   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 14:38
Weil Form.Show vor dem Anzeigen ausgeführt wird.

Und auch wenn die Form sichtbar wäre, wäre ja wenig sichtbar
Markus Kinzler
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#2

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 14:56
Dein Problem kann man schön mit WMFormVisible lösen

Delphi-Quellcode:
const
 WM_FORM_VISIBLE = WM_USER + 1;

private
 FormInitialised: Boolean;
 procedure WMFormVisible(var msg: TMessage); message WM_FORM_VISIBLE;
end;

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
 FormInitialised := False;
end;

procedure TForm1.WMFormVisible(var msg: TMessage);
begin
 if not FormInitialised then
  begin
   FormInitialised := True;
   
   Code hier rein
  end;
end;

Geändert von günni0 (24. Mär 2018 um 17:31 Uhr)
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 17:01
Dein Problem kann man schön mit WMFormVisible lösen
Das bekomme ich komischerweise nicht kompiliert ... Delphi (10.1) meckert bei

"message WM_FORM_VISIBLE;"
Undeklarierter Bezeichner "WM_FORM_VISIBLE"

Gruß
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#4

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 17:31
Dein Problem kann man schön mit WMFormVisible lösen
Das bekomme ich komischerweise nicht kompiliert ... Delphi (10.1) meckert bei

"message WM_FORM_VISIBLE;"
Undeklarierter Bezeichner "WM_FORM_VISIBLE"

Gruß
Hans
Irgendwo deklarieren
Delphi-Quellcode:
const
 WM_FORM_VISIBLE = WM_USER + 1;
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 17:37

Irgendwo deklarieren
Delphi-Quellcode:
const
 WM_FORM_VISIBLE = WM_USER + 1;
Danke - da war ich gerade Blind ... ich dachte das wäre irgendeine feste Systemkonstante aus einer Unit.
Jetzt klappt es wunderbar :_)

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 17:50
Hallo,
warum nimmst Du nicht FormActivate?

Und dort als letzte Zeile
PostMessage(Handle, WM_CLOSE, 0, 0);
Heiko
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.554 Beiträge
 
Delphi 7 Professional
 
#7

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 17:58
Wenn Form1 das Hauptformular ist, kann man das Problem doch in der DPR lösen:

Man entferne dort die Zeile Application.Run; und füge statt dessen dort ein:
Delphi-Quellcode:
  Form1.Show;
  Form1.DoSomething;
Das Close in DoSomething führt dazu, dass das Programm beendet wird. Man muss es dann nicht per Selbstmord über Application.Terminate; beenden.
Eventuell vorhandene OnClose-Ereignisse werden dann auch noch korrekt verarbeitet.
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 18:30
Wenn Form1 das Hauptformular ist, kann man das Problem doch in der DPR lösen:
DANKE !! Das ist imho eine schöne und elegante Lösung !!

Gruß
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 15:51
Weil Form.Show vor dem Anzeigen ausgeführt wird.
Könnte man evtl. auch sagen das das OnShow-Event die letzte Aktion vor dem Anzeigen des Formulares ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Wann wird eine Form angezeigt ?

  Alt 24. Mär 2018, 15:54
Weil Form.Show vor dem Anzeigen ausgeführt wird.
Könnte man evtl. auch sagen das das OnShow-Event die letzte Aktion vor dem Anzeigen des Formulares ist.
Das wollte ich damit ausdrücken
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:28 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 by Thomas Breitkreuz