Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Visible=False aber Enabled=True (https://www.delphipraxis.net/134396-visible%3Dfalse-aber-enabled%3Dtrue.html)

Linguini 21. Mai 2009 12:21


Visible=False aber Enabled=True
 
Hallo,

ich versuche gerade einen Button zu "verstecken", allerdings soll der noch anklickbar sein.
So, laut meinen Englischkenntnissen sollte es ja mit diesen 2 Eigenschaften funktionieren:

Visible=False
und
Enabled=True

Der Button verschwindet auch, lässt sich aber nicht anklicken...

Muss man das anderst bewerkstelligen?

SirThornberry 21. Mai 2009 12:24

Re: Visible=False aber Enabled=True
 
visible steht bei Komponenten nicht für sichtbar sondern für "eingeblendet".
Entsprechend verhält es sich wie bei der Windowstaskleiste etc. Wenn diese ausgeblendet ist, hilft auch alles klicken an der Stelle wo sie mal war nichts.

toms 21. Mai 2009 12:25

Re: Visible=False aber Enabled=True
 
Verstehe ich nicht ganz - Wie soll man auf ein nicht sichtbares Objekt klicken können?

brechi 21. Mai 2009 12:28

Re: Visible=False aber Enabled=True
 
Für dein Vorhaben kannst du auch ein Shape nehmen und die Farbe an die hintergrundfarbe anpassen.

Enabled sagt etwas über das aussehen der Komponente (Button text wird gray statt schwarz angezeigt) und es werden keine Events aufgerufen.

Bei Visible wird die komponente gar nicht mehr angezeigt, d.h. für den Benutzer existiert sie nicht mehr und es werden auch keine Events aufgerufen.

Satty67 21. Mai 2009 12:29

Re: Visible=False aber Enabled=True
 
Nicht sichtbar heißt ja nicht, nicht vorhanden (also allgemein, im Falle des Button natürlich schon)... Predator-Button :stupid:

Als Grund sehe ich z.B. den Versuch in einem Image klickbare Bereiche zu definieren, ohne Image.MouseDown auszuwerten.

brechi 21. Mai 2009 12:38

Re: Visible=False aber Enabled=True
 
Nicht sichtbar heißt aber auch keine Events. :)

Nimm nen TShape und ruf im Oncreate:

Delphi-Quellcode:
  Shape1.Pen.Style := psClear;
  Shape1.Brush.Style := bsClear;
auf.

dann ist es durechsichtig und die Events werden noch aufgerufen.

Medium 21. Mai 2009 12:40

Re: Visible=False aber Enabled=True
 
Dafür lassen sich u.a. auch Lables mit AutoSize=false, Transparent=true und leerer Caption missbrauchen. Arg elegant ist das aber dennoch nie.

Linguini 21. Mai 2009 12:52

Re: Visible=False aber Enabled=True
 
Vielen Dank =)
Ich habe es mit den Shapes gelößt.
Die Methode mit den durchsichtigen Labels funktioniert aber auch.

DP-Maintenance 21. Mai 2009 13:03

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Die Delphi-IDE" nach "VCL / WinForms / Controls" verschoben.
Das ja irgendwie nichts mit der IDE zu tun ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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 by Thomas Breitkreuz