Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   PopupMenu - Item vorselektieren (https://www.delphipraxis.net/178089-popupmenu-item-vorselektieren.html)

sh17 17. Dez 2013 09:26

AW: PopupMenu - Item vorselektieren
 
Eintrag vorselektieren ist genauso Quark. Wenn der Benutzer mit der Maus rumfummelt, ist der markierte Eintrag ratz fatz wieder weg.

Hier ist vielleicht die Wahl einer andere Auswahlform notwendig - kein PopUp-Menü..evtl TaskDialog?

himitsu 17. Dez 2013 09:32

AW: PopupMenu - Item vorselektieren
 
Haken: Du nimmst dem Benutzer die Kontrolle über sein Eingabegerät.

Stell dir mal vor jemand verschiebt ständig deinen Mauszeiger oder die Tastatur tippt ständig automatisch irgendwelche Buchstaben, oder deine Maus reagiert kaum noch und vergisst öfters deine Befehle .... so kann doch keiner arbeiten.

PS: Es gibt auch Viren/Scherzprogramme welche den Mauszeiger oder Buttons verschieben ... was natürlich verärgern soll.

PPS: Manche Maustreiber haben auch eine Option "Springe zum Default-Button" von Dialogen ... das hatte ich einmal an, weil es "gut" klang, aber dafür ich suchte auch ständig den Mauszeiger.


@sh17:
Im Prinzip braucht man für die "Standard"-Aktion die Maus nicht zu begewen, sondern klickt gleich nochmal.

Aber da reicht es das Popup um je 5 Pixel nach oben-links zu bewegen (nur, solange es nach unten rechts genug Platz hatte) und legt die Standardaktion auf die erste Zeile.

Perlsau 17. Dez 2013 09:40

AW: PopupMenu - Item vorselektieren
 
Zitat:

Zitat von himitsu (Beitrag 1240086)
Haken: Du nimmst dem Benutzer die Kontrolle über sein Eingabegerät.

Wenn ich dagegen das PopUp-Menü verschiebe, um so denselben Effekt zu erzielen, nämlich einen bestimmten Eintrag auszuwählen, nehme ich dem Benutzer nicht die Kontrolle?

Zitat:

Zitat von himitsu (Beitrag 1240086)
Stell dir mal vor jemand verschiebt ständig deinen Mauszeiger oder die Tastatur tippt ständig automatisch irgendwelche Buchstaben, oder deine Maus reagiert kaum noch und vergisst öfters deine Befehle .... so kann doch keiner arbeiten.

Aber es geht hier doch gar nicht um eine ständige Verschiebung des Mauszeigers und schon gar nicht um das automatische Tippern irgendwelcher Buchstaben. Mit anderen Worten: Wenn man beim PopUp den Mauszeiger verschiebt, geschiet das doch nicht ständig, und Buchstaben werden dabei auch keine getippt.

Zitat:

Zitat von himitsu (Beitrag 1240086)
PS: Es gibt auch Viren/Scherzprogramme welche den Mauszeiger oder Buttons verschieben ... was natürlich verärgern soll.

Aha, jetzt verstehe ich: Weil es auch Scherzprogramme gibt, die sowas machen, darf man das natürlich nicht. Alles klar :thumb:

Vielleicht solltest du besser den TE darüber befragen oder aufklären, wie sinnvoll oder sinnlos sein Unterfangen ist? Ich bin dafür die falsche Adresse, denn ich würde sowas nicht in mein Programm einbauen, außer der Auftraggeber wünscht das ausdrücklich. Aber darum ging's ja auch gar nicht, sondern um die Frage, wie man das realisieren könnte.

himitsu 17. Dez 2013 09:50

AW: PopupMenu - Item vorselektieren
 
Sagen wir es mal so, du nimmst ihm zumindestens nicht die Kontrolle über sein Eingabegerät
und das Popup ist sowieso nicht immer unten-rechts.

Darum auch der Vorschlag mit dem ersten Eintrag und die nur kleine Verschiebung des Menüs.
(wenn das menü nach oben aufpoppt müsste es zwar theoretisch der letze Eintrag sein, aber das Menü ständig umzusortieren ist ebenfalls nicht sonderlich schön)

eholzer 17. Dez 2013 12:59

AW: PopupMenu - Item vorselektieren
 
Zitat:

Eintrag vorselektieren ist genauso Quark.
Nicht unbedingt. Für Mausnutzer ist die Vorselektion nicht wichtig, aber der Tastaturfreak kann sich damit einige Tastenschläge sparen.

Eric


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr.
Seite 2 von 2     12   

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