Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   popupmenue finden (https://www.delphipraxis.net/162354-popupmenue-finden.html)

hanspeter 18. Aug 2011 16:48

popupmenue finden
 
Hallo,

Eine reine Designfrage.

Wie könnte ich für eine Componente kenntlich machen, das diese ein Popup Menü hat?
Ich habe gerade mit einem Anwender das Erlebhis gehabt, das er nicht wußte das hinter einem Grid ein umfangreiches Popupmenü liegt.
Alle dringenden Erweiterungswünsche hat das Popupmenü abgedeckt.
Mir geht es bei meiner eigenen Software auch manchmal so, das ich vergessen habe, das hinter einem Grid oder einem Eingabefeld ein Popup liegt.
Das Menü ständig sichtbar anzuordnen, reicht der Platz nicht.
Wenn die Vomponente den Focus bekommt, das Grid kurz als Glasframe einblenden / Einen Knopf oben links oder rechts im Grid.
Oder gibt es noch eine andere Idee?

Gruß
Peter

DeddyH 18. Aug 2011 16:51

AW: popupmenue finden
 
Ich finde das zwar unüblich, aber Du könntest z.B. im OnEnter kurz einen Hint anzeigen "Für weitere Optionen rechte Maustaste drücken" oder sowas. Mich persönlich würde das allerdings nach kurzer Zeit extrem nerven, gebe ich zu.

bernerbaer 18. Aug 2011 17:00

AW: popupmenue finden
 
Das ist Windows Standardverhalten (kein Hinweis, kein Button).
Ich gehe jeweils so vor:
  • Zu jedem meiner Individualprojekte verkaufe ich auch eine Schulung
  • Ich erstelle eine Dokumentation/Hilfe wo ich auf solche Funktionen hinweise

skh 18. Aug 2011 19:30

AW: popupmenue finden
 
Die Antwort von #2 könnte man so erweitern, dass man sich ein Merker setzt, ob mein Hint schon mal angezeigt wurde. Dieser muss dann halt abgefragt werden!

shmia 18. Aug 2011 19:59

AW: popupmenue finden
 
Du könntest auch einen ganz kleinen Speedbutton mit dem Glyph eines kleinen Dreiecks (Spitze nach unten) auf das Control setzen (irgendwo an den Rand/Ecke).
Klickt der Benutzer drauf, öffnet sich das Popupmenu.

Delphi-Quellcode:
procedure ShowPopupMenu(control: TControl);
begin
   control.Perform(WM_CONTEXTMENU, 0, Integer(PointToSmallPoint(control.ClientToScreen(Point(2, 2)))));
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
   ShowPopupMenu(sender as TControl);
end;

hanspeter 18. Aug 2011 20:28

AW: popupmenue finden
 
Ich überlege, ob ich wie bei MSWord so einen runden Button in die obere linke Ecke des Grid bringe.
Das Programm ist sehr umfangreich und handelt den kompletten Ablauf einer Sportveranstaltung.
Das Problem ist, das die Bediener nur ein zwei mal im Jahr mit diesem Programm arbeiten.

Peter

himitsu 18. Aug 2011 21:05

AW: popupmenue finden
 
Wieso sowas umständliches, wie ein Hint?

Man kann übrigens auch den Mauszeiger anpassen.

Bei Labels, hinter welchen sich ein Link versteckt, nutze ich gerne die Hand (kennen Viele bestimmt schon aus ihrem Browser :zwinker: )
und für Popups könnte man noch einen kleinen "Hinweis" in den Standardbutton einbauen.

Bzw. man könnte sich auch ein kleines Overlay für den Mauszeiger basteln,
wie man sie z.B. aus seinem Datei-Explorer kennt, um nicht die Wunschmauszeiger des Benutzers zu übergehen.


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