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
Thema durchsuchen
Ansicht
Themen-Optionen

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
Seite 3 von 3     123   
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#21

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

  Alt 6. Feb 2019, 11:43
Weil das Tabsheet als default visible = false beim start hat. Ansonsten macht es ja auch keinen Sinn! Du stellst ja das visible auf false im Objektinspector damit das Panel (oder was auch immer) beim Programmstart NICHT sichtbar ist. Nun willst du aber das beim Programmstart es über das Show-Event doch sichtbar wird. Das beißt sich.
Das ist mir klar.

Ich glaube das es WaD (Works as designed)
Das denke ich auch. Macht auch keinen Sinn ein onShow-Event zu feuern wenn das TabSheet bereits sichtbar ist.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

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

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

  Alt 6. Feb 2019, 11:46
Ich glaube das es WaD (Works as designed)
Das denke ich auch. Macht auch keinen Sinn ein onShow-Event zu feuern wenn das TabSheet bereits sichtbar ist.
Nein, es macht keinen Sinn das Panel per default auszublenden, das Sheet beim Start als "Startsheet" anzuzeigen und sich dann zu beschweren, dass das Panel beim Programmstart nicht eingeblendet wird, obwohl es im onShow-Event gezeigt werden soll.

Einzige Ausnahme, es gibt Abhängigkeiten aber dann setze ich die Abhängigkeitsprüfung eher z.B. in das OnCreate-Event und nicht ins onShow-Event (was im übrigen auch Fehlerfrei funktioniert). Ggf. in eine Predure gepackt, wenn ich diese Prüfung an mehreren stellen nutzen muss.
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 11:51 Uhr)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#23

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

  Alt 6. Feb 2019, 11:51
Einzige Ausnahme, es gibt Abhängigkeiten aber dann setze ich die Abhängigkeitsprüfung eher in das OnCreate-Event und nicht ins onShow-Eevent.
Das sehe ich genau so
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Graf Gustav

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

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

  Alt 6. Feb 2019, 13:24
@Moombas: Mein Delphi-Code in meinem Startbeitrag ist das Beispielprojekt.
Und da habe ich 1 PageControl mit 1 Tabsheet. Ein PageControl-Changeevent findet da nicht statt.

Zu der weiteren Diskussion will ich mich nicht äußern;
Das Abdriften von der sachlichen Ebene in die Besserwisserei scheint wohl überall beliebt zu sein.
Reinhold
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

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

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

  Alt 6. Feb 2019, 13:36
@Moombas: Mein Delphi-Code in meinem Startbeitrag ist das Beispielprojekt.
Und da habe ich 1 PageControl mit 1 Tabsheet. Ein PageControl-Changeevent findet da nicht statt.
Ich habe mich dabei auf folgendes bezogen:
Auch mit meinem Beispielprojekt ?
Beispielprojekt in diesem Falle das von v2afrank!

@Graf Gustav: Aber dennoch funktioniert es wie in Beitrag #18 geschrieben (funktionierendes Beispielprojekt im Anhang).
Weitere Hinweise in den folgenden Beiträgen:
Zitat:
Willst du das das Panel sofort sichtbar ist bei Programmstart: Visible per default auf True setzen (oder z.B. beim onCreate-Event einblenden, wenn es Abhängigkeiten dafür gibt).
Willst du das Panel während der Laufzeit einblenden: z.B. beim onShow-Event(erst beim Umblättern AUF das entsprechende Tabsheet!) ".visible := true" setzen.
Ggf. in eine Procedure gepackt, wenn du diese Prüfung an mehreren stellen nutzen musst.
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 13:52 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz