Delphi-PRAXiS
Seite 1 von 3  1 23   

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/)
-   -   Checkbox / Radiobutton: Events nur im Kästchen zulassen (https://www.delphipraxis.net/189025-checkbox-radiobutton-events-nur-im-kaestchen-zulassen.html)

Jimmie 27. Apr 2016 10:26

Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Hallo,

Ich brauche eine Checkbox / einen Radiobutton, bei dem nur das Kästchen aktiv ist. D.h., ein Klick auf den Text soll kein Ereignis auslösen. Kann man es mit einfachen WinAPI-Funktionsaufrufen einrichten? Eine Kombination aus Checkbox und Label daneben möchte ich nicht machen.

Man kann die Ereignisse MouseMove, MouseClick und MouseDblClick überschreiben und dort das Verhalten abfangen. Trotzdem gibt es Probleme mit dem Fokus und bei der Tastaturbedienung (bei den Radiobuttons).

Sherlock 27. Apr 2016 10:49

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Warum schließt Du die einfache Lösung aus? Sportlicher Ehrgeiz? Schonmal von KISS gehört?
Fragen über Fragen.

Nix für ungut,
Sherlock

Christian Seehase 27. Apr 2016 11:02

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Moin Jimmy,

mir ist nicht ganz klar, warum Du ein Verhalten brauchst, mit dem keiner rechnet?
Vielleicht gäbe es für den geplanten Anwendungszweck eine andere Lösung.

Jimmie 27. Apr 2016 11:14

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Hallo,

Es gibt eben Leute, die genau dieses Verhalten haben wollen. Außerdem ist dieses Verhalten in bestimmten Anwendungsfällen schon sinnvoll bzw. habe ich es auch in HTML-Formularen oder sonstigen Anwendungen gesehen.

Für mich ist die Zusammensetzung aus Checkbox und Label nicht wirklich die einfache Lösung. Spätestens bei einer RadioGroup wird es scheitern.
Wenn ich es als eine Komponente haben möchte, muss ich ggf. viele Sonderfälle und so berücksichtigen. Ich möchte das Verhalten über Property umschaltbar machen. Daher dachte, dass es ggf. einen einfacheren Trick geben würde.

rNoob 27. Apr 2016 11:24

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Die einzige Software die ich kenne, wo so nein Verhalten erwünscht ist, sind Setup-Programme, wo Adware mitinstalliert wird.

himitsu 27. Apr 2016 11:45

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Jupp, es ist ein Strandard-Verhalten und es wäre nett, wenn man sich an den Standard hält, damit sich die Benutzer nicht wundern.

Caption weg, Control verkleinern und Label daneben und schon sieht man, dass es nicht mehr STANDARD ist. :stupid:

rNoob 27. Apr 2016 11:50

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Viele klicken auch auf den Text und bemerken dann nicht, dass man die CheckBox/den RadioButton nicht aktiviert hat.
Das ist genau so beabsichtigt in Setups mit Adware.

Zitat:

Zitat von himitsu (Beitrag 1336784)
Jupp, es ist ein Strandard-Verhalten und es wäre nett, wenn man sich an den Standard hält, damit sich die Benutzer nicht wundern.
Caption weg, Control verkleinern und Label daneben und schon sieht man, dass es nicht mehr STANDARD ist. :stupid:

Hoch lebe Linux und die Free Repositories.

Sir Rufo 27. Apr 2016 12:29

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Natürlich habe ich so etwas auch schon gesehen und finde es zwar auch etwas nervig, aber bei Optionen wie "Sind Sie sicher, dass Sie alles löschen wollen?" durchaus berechtigt.

Untersucht habe ich es noch nicht, aber ich wette dort wo ich es gesehen habe ist eine CheckBox ohne Caption und ein separates Label :stupid:

Der schöne Günther 27. Apr 2016 12:37

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
Interessante Info am Rande:
Zitat:

Checkboxes without label tags are inaccessible to screen readers.
http://uxmovement.com/forms/why-your...ve-label-tags/

pesi 27. Apr 2016 14:51

AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
 
"Quick and Dirty" würde ich sagen, dann lass die Caption der Box einfach leer und schreib den Text über ein gesondertes Label daneben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.
Seite 1 von 3  1 23   

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