Einzelnen Beitrag anzeigen

Graf Gustav

Registriert seit: 13. Mär 2011
51 Beiträge
 
Delphi 10.4 Sydney
 
#1

TPanel Visible := True wirkt nicht in TabSheet OnShow

  Alt 5. Feb 2019, 23:11
Ich bin erstaunt, dass ich das noch nie bemerkt habe.
(Und auch keinen Workaround finde...)
Der Effekt ist jetzt in 10.1 Berlin aufgetreten,
aber ein Versuch mit D5 unter Win7 zeigt dasselbe Ergebnis.

Um was es geht, steht ja schon im Titel:
Ein TPanel auf einem Tabsheet, mit Visible := False statisch erzeugt,
soll in der OnShow-Ereignisroutine des Tabsheets sichtbar werden.
Wird es aber nicht.

Der Versuch, nach Abschluss der OnShow-Routine die Sichtbarkeit
herzustellen. funktioniert nur, wenn vorher das nicht sichtbare
Panel nochmal ein Visible := False bekommt.

Delphi-Quellcode:
procedure TForm1.TabSheet1Show(Sender: TObject);
begin
  Panel1.Visible := True; // bewirkt nichts
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Panel1.Visible := False; // nur wenn das vorher aufgerufen wird,
  Panel1.Visible := True; // wird das Panel sichtbar.
end;
Hat jemand eine Erklärung oder sogar einen guten Rat?
Angehängte Dateien
Dateityp: txt Panel_M.dfm.txt (1,0 KB, 3x aufgerufen)
Reinhold
  Mit Zitat antworten Zitat