AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TPanel Visible := True wirkt nicht in TabSheet OnShow

TPanel Visible := True wirkt nicht in TabSheet OnShow

Ein Thema von Graf Gustav · begonnen am 5. Feb 2019 · letzter Beitrag vom 6. Feb 2019
Antwort Antwort
v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
575 Beiträge
 
Delphi XE2 Professional
 
#1

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

  Alt 6. Feb 2019, 08:16
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.
Ist aber nicht richtig. Das Showevent wird sehr wohl ausgelöst. Setz einfach mal die Fenstercaption und Du wirst sehen es wird ausgelöst
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

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

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

  Alt 6. Feb 2019, 08:23
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.
Ist aber nicht richtig. Das Showevent wird sehr wohl ausgelöst. Setz einfach mal die Fenstercaption und Du wirst sehen es wird ausgelöst
Hast du recht, dann verstehe ich das Verhalten auch nicht.

Und ich ergänze das Phänomen: Wenn ich in dem Tabsheet, in dem das Panel liegt, auch einen Button einfüge, der sichtbar ist und folgenden Code beinhalten:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Panel1.Show;
end;

procedure TForm1.TabSheet2Show(Sender: TObject);
begin
  Panel1.Show;
end;
Wird beim einblenden des Tabsheet der Button versteckt (sowie auch alle anderen Komponenten auf dem Sheet)!? (Ein Druck auf den Button hat keinen Effekt)
Kommentiere ich nun das Show-Event aus, bleiben alle Komponenten Sichtbar und der Button funktioniert (blendet das Panel ein).

Nutze ich nun anstatt ".show" folgendes:
Delphi-Quellcode:
procedure TForm1.TabSheet2Show(Sender: TObject);
begin
  Panel1.Visible := True;
end;
Funktioniert es einwandfrei! Warum es bei dir jedoch so nicht funktioniert, kann ich dir nicht sagen. Auch war für mich bisher ".visible := True" = ".show" bzw ".visible := False;" = ".hide". Da scheint es auch noch Unterschiede zu geben.
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 08:40 Uhr)
  Mit Zitat antworten Zitat
v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
575 Beiträge
 
Delphi XE2 Professional
 
#3

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

  Alt 6. Feb 2019, 08:27
Ganz interessant ist ja auch dass die Eigenschaft visible des Panles wirklich gesetzt wird. Kann man gut im Button1Click abfragen
  Mit Zitat antworten Zitat
Antwort Antwort

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 01:41 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-2025 by Thomas Breitkreuz