Da fällt mir spontan ein ...
Delphi-Quellcode:
const
WM_FORM_VISIBLE = WM_USER + 1;
type
TDeineAnwendung =
class(TForm)
// ....
private
bFormVisibleChecked: Boolean;
procedure WMFormVisible(
var msg: TMessage);
message WM_FORM_VISIBLE;
public
// ....
end;
implementation
// ....
procedure TDeineAnwendung.FormCreate(Sender: TObject);
begin
bFormVisibleChecked := False;
end;
procedure TDeineAnwendung.WMFormVisible(
var msg: TMessage);
begin
if not bFormVisibleChecked
then
begin
showmessage('
Zweites Formular ist jetzt komplett sichtbar - verstecke Formular eins!');
bFormVisibleChecked := True;
end;
end;
procedure TDeineAnwendung.FormPaint(Sender: TObject);
begin
if not bFormVisibleChecked
then
PostMessage(
Handle, WM_FORM_VISIBLE, 0, 0);
end;
Die showmessage() wird erst angezeigt, wenn Formular 2 komplett sichtbar ist.
In WMFormVisible kannst du jetzt den Begrüßungsbildschirm ausblenden, schließen oder was auch immer machen.