Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#9

AW: Erkennen ob ein Fenster verdeckt wird

  Alt 16. Nov 2021, 13:47
Kurzer Test mit 'nem Form, 'nem Button, 'nem TPageControl mit zwei Tabs und auf jedem Tab ein Panel.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Panel1.Visible then ShowMessage('Panel1'); // ist immer erfüllt, egal welcher Tab aktiv
  if Panel2.Visible then ShowMessage('Panel2'); // ist immer erfüllt, egal welcher Tab aktiv
  if Panel1.Parent.Visible then ShowMessage('Parent Panel1'); // ist nur erfüllt, wenn Tab 1 sichtbar
  if Panel2.Parent.Visible then ShowMessage('Parent Panel2'); // ist nur erfüllt, wenn Tab 2 sichtbar
end;
Es könnte also (mit etwas Glück) ausreichen, auf die Sichtbarkeit des Parents der Formulare abzufragen.
So ist es.
Es reicht einfach wie im ersten Beitrag schon gesagt die aktive Seite vom Tab abzufragen alles andere ist Sinnlos.

Denn nur weil das Child Window in dem Fall als bsp. das Panel auf dem alle Komponenten abgelegt sind unsichtbar\in den Hintergrund geschaltet wird
bleiben die anderen Komponente trotzdem sichtbar.
Das betrifft also auch deine Formen die dort abgelegt sind.

Wenn ich meine Küchentür öffne dann sehe ich die Küche wird sie hingegen geschlossen dann sehe ich sie nicht mehr.
Bedeutet aber nicht das diese nun nicht mehr sichtbar ist. Es wird einem nur die Sicht darauf genommen.

Geändert von venice2 (16. Nov 2021 um 13:54 Uhr)
  Mit Zitat antworten Zitat