Einzelnen Beitrag anzeigen

Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#7

AW: TPanel Visible := True wirkt nicht in TabSheet OnShow

  Alt 6. Feb 2019, 08:55
Es ist ganz logisch, da das Show-Event nur ausgelöst wird, wenn der Tab "wieder eingeblendet" wird (Tabsheet.show). Wenn ich das gleiche auf z.B. onMouseActivate lege und in die leere Fläche Klicke wird der Code ausgeführt.

Das Problem liegt also nicht darin, das das Panel im Sheet liegt, sondern die Art und Weise des Aufrufs.

Du kannst das ganze so "umgehen":
Delphi-Quellcode:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
  if Pagecontrol1.ActivePage = Tabsheet2 then
    Panel1.Show
  else
    Panel1.Hide;
end;
Wenn so etwas für mehrere Seiten gemacht werden muss, kannst du anstatt if auch case nutzen. Mir stellt sich nur noch die Frage nach dem Sinn, da das Panel doch nur sichtbar ist, wenn die Seite auch angezeigt wird oder übersehe ich da etwas!?
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas ( 6. Feb 2019 um 09:02 Uhr)
  Mit Zitat antworten Zitat