![]() |
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). |
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 |
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. |
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. |
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.
|
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: |
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:
|
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: |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Interessante Info am Rande:
Zitat:
![]() |
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.
|
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Aus dem Ausgangspost:
Zitat:
|
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Zitat:
Sherlock |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
[QUOTE=Sherlock;1336820]
Zitat:
das OnClick Ereignis auf MouseDown und MouseUp umbiegen, X und Y auf den Bereich des "Kästchens" prüfen . . . ne, geht dann ja noch einfacher, das Label einfach desensibilisieren . . . |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Das will er aber nicht. Und dann müsste er sich auch seine eigene Groupbox basteln, denn da funktioniert das mit dem extra Label nicht mehr.
Ich klicke übrigens gerne auf den Text, weil man da nicht so zielen muss mit der Maus. |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Ich klicke viel lieber auf den Text, da man so schon ein gaaaanz klein wenig abschätzen kann, wer ggf. Übles im Schilde führt und wer nicht 8-)
|
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Ich habe es jetzt doch gegen meinen ursprünglichen Willen mit Checkbox/Radiobutton und Label rechts daneben gemacht. Alles andere, z.B. Maus-Events überschreiben, funktioniert wegen des Standardverhaltens der Komponente nicht sauber. Man könnte eine von TCustomControl abgeleitete Komponente aus Checbox/Radiobutton und Label basteln, dann gibt es aber auch gewisse Probleme (z.B. mit dem Fokus und so). Es ist nur ein Fenster betroffen, so dass man es wie o.g. machen kann.
|
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Moin Jimmie,
Zitat:
Controls, die sich nicht so verhalten, wie man es erwartet, sind, in meinen Augen, ein Anreiz für eine falsche Bedienung des Programms, und fast schon ein Garant für verärgerte Anwender. Zitat:
Danke. |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Zitat:
|
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Eher so:
[X] JA, ich bin mir sicher, dass ich die Datenbank löschen möchte :stupid: |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Zitat:
|
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Mit Counter (:
[X] JA, ich bin mir sicher, dass ich die Datenbank löschen möchte. Diese Aktion wird in 00:07 automatisch fortgesetzt. |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Oder mit einem zusätzlichem Eingabefeld, in das ein "JA" oder "OK" einzugeben ist, bevor der Dialog bestätigt werden kann und somit potentiell nicht rückgängig zu machende Dinge ausgelöst werden. Es gibt da diverse Möglichkeiten, daher sehe ich keinen sinnvollen Anwendungszweck für eine Checkbox, die nur auf der Checkmark auf Klicks reagiert.
MfG Dalai |
AW: Checkbox / Radiobutton: Events nur im Kästchen zulassen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 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