Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Popupmenü automatisch? (https://www.delphipraxis.net/155854-popupmenue-automatisch.html)

Gruber_Hans_12345 10. Nov 2010 13:59

Popupmenü automatisch?
 
Hallo

Ich wollte mal Fragen, wie und was macht Ihr, wenn in einem eurer Programme die Popupmenüs zu lange werden?

Teilweise werden die Popupmenüs so lange, das die nicht mehr auf den Schirm passen
Normalerweise werden bei mir die Einträge nur disabled und nicht ausgeblendet, wenn sich die nicht anwählen lassen (damit eben der User weis, ok der button ist da, nur muß ich vorher noch was machen ... , wie wenn er das ding nicht findet)

Aber irgendwas muß ich mir nun einfallen lassen.

Eine Idee, war so eine autolern funktion, die sich merkt welche Einträge nie verwendet werden, und diese dann in ein Untermenü verfrachtet werden. Hat schon mal wer sowas gemacht?
Problematisch wirds dann, wenn die Punkte aber je nach Status des ausgewählten elements unterschiedlich zu gebrauchen sind.

Gibt es da wo gute Leitfaden wie man sowas designen soll?

himitsu 10. Nov 2010 14:09

AW: Popupmenü automatisch?
 
Wenn etwas zu groß ist, dann wird es aufgeteilt.

> Menüs also schön in Untermenüs verteilen


Es gibt aber auch Möglichkeiten, um ein Menü/Popupmenü auf mehrere Spalten zu verteilen.

BUG 10. Nov 2010 15:01

AW: Popupmenü automatisch?
 
Zitat:

Zitat von Gruber_Hans_12345 (Beitrag 1060771)
Problematisch wirds dann, wenn die Punkte aber je nach Status des ausgewählten elements unterschiedlich zu gebrauchen sind.

Das könnte ein Gedanke sein, der zu Hier im Forum suchenRibbons geführt hat ... evtl. findest du in den Diskussionen darum ja Anregungen.

Du könntest, wie von Himitsu genannt, erst einmal alle Funktionen sinnvoll in Untermenüs verpacken.
Dazu könnte zusätzlich man die für den aktuellen Status die 5 am häufigsten benutzten Elemente anzeigen.

Code:
-beliebt--
func
func
func
func
func
---------- ------------------
weitere  > tolles Untermenü > ...
---------- tolles Untermenü > ...
           tolles Untermenü > ...
           tolles Untermenü > ...
           ------------------

Gruber_Hans_12345 10. Nov 2010 15:15

AW: Popupmenü automatisch?
 
Zitat:

Zitat von BUG (Beitrag 1060789)
Zitat:

Zitat von Gruber_Hans_12345 (Beitrag 1060771)
Problematisch wirds dann, wenn die Punkte aber je nach Status des ausgewählten elements unterschiedlich zu gebrauchen sind.

Das könnte ein Gedanke sein, der zu Hier im Forum suchenRibbons geführt hat ... evtl. findest du in den Diskussionen darum ja Anregungen.

Du könntest, wie von Himitsu genannt, erst einmal alle Funktionen sinnvoll in Untermenüs verpacken.
Dazu könnte zusätzlich man die für den aktuellen Status die 5 am häufigsten benutzten Elemente anzeigen.

Code:
-beliebt--
func
func
func
func
func
---------- ------------------
weitere  > tolles Untermenü > ...
---------- tolles Untermenü > ...
           tolles Untermenü > ...
           tolles Untermenü > ...
           ------------------

Ja sowas ähnliches habe ich mir auch gedacht, die Frage ist nur wie definiere ich "die 5 am häufigsten benutzten Elemente anzeigen"???

Und vorallem kann es zb sein, je nachdem auf welchen Element ich stehe, das sich die Zahl bzw die wichtigkeit der Einträge ändert ...

BUG 10. Nov 2010 15:27

AW: Popupmenü automatisch?
 
Nun, du könntest für jedes (Elementtyp, Status, Funktion) speichern, wie oft es aufgerufen wurde.

Wenn du jetzt das Menü anzeigst, kennst du Elementtyp und Status. Nun beachtest du nur die Datensätze die diesen Elementtyp und Status haben und hast damit eine Zuordnung Funktion <-> Anzahl der Aufrufe.

Dann sortiert du die Funktionen absteigend nach der Anzahl der Aufrufe und die ersten 5 sind dann die Beliebtesten.



Oder geht es dir hier eher um die technische Umsetzung?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 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