AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mal wieder TPopupMenu

Ein Thema von Bentissimo · begonnen am 25. Apr 2006 · letzter Beitrag vom 25. Apr 2006
Antwort Antwort
Bentissimo

Registriert seit: 25. Apr 2006
Ort: Friedenfels
82 Beiträge
 
Delphi 11 Alexandria
 
#1

Mal wieder TPopupMenu

  Alt 25. Apr 2006, 16:10
Hallo zusammen,

nachdem ich mich jetzt schon eine ganze Weile mit TPopupMenu beschäftigt habe, muss ich einfach sagen, dass die Handhabung alles andere als intuitiv ist. Das größte Manko sind fehlende Ereignisse für OnClose und OnKeyDown. Ersteres hat jemand bei torry.ru versucht, aber offensichtlich nicht getestet, denn nach der Installation gibt es schon in Delphi ständig Zugriffsverletzungen. Nach weiterer Suche habe ich dann Code gefunden, der es ermöglicht mitzubekommen, sobald das PopupMenü geschlossen wird (war, glaube ich, auch hier in der Delphi-PRAXIS, kann mich aber nicht mehr erinnern).

Aber nun zu meinem Problem:

In einem Grid erlaube ich dem User von Zelle zu Zelle zu springen, bis er auf eine gesperrte Zelle trifft. Versucht er hier weiterzukommen (alles mit den Cursor-Tasten), geht ein TPopupMenu auf. Soweit alles gut, da ich wie gesagt inzwischen auch festellen kann, ob das PopupMenu wieder geschlossen wurde. Leider muss ich nun zur Auswahl eines Eintrags ENTER bzw. zum Abbrechen ESC drücken, würde aber gerne stattdessen die Pfeiltasten nach rechts (ENTER simulieren) und links (ESC simulieren) verwenden. So könnte der Anwender nämlich ganz bequem alles mit den Pfeiltasten erledigen, was in meinen Augen ein gelungenes GUI-Design wäre. Leider ist es mir aber bisher partout nicht gelungen, dass irgendwie hinzubekommen und mittlerweile befürchte ich, dass es tatsächlich nicht geht.

Falls aber doch jemand einen Rat wissen sollte, würde ich mich riesig über eine Antwort freuen, denn das Thema kostet mich mittlerweile einfach zu viel Zeit. Ich würde es aber zu gerne so implementieren.

Also im voraus schon mal vielen Dank und viele Grüße!
Stephan Schmahl
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Mal wieder TPopupMenu

  Alt 25. Apr 2006, 20:31
Ich weiss zwar keine Antwort auf Dein Problem, aber ich würde an Deiner Stelle die Zeit in ein eigenes Control/Komponente stecken, die die gewünschte Funktionalität abdeckt.
Sven Harazim
--
  Mit Zitat antworten Zitat
Bentissimo

Registriert seit: 25. Apr 2006
Ort: Friedenfels
82 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Mal wieder TPopupMenu

  Alt 25. Apr 2006, 20:38
Hallo Sven,

vermutlich hast Du recht, aber bis jetzt wollte ich einfach nicht glauben, dass es dafür keine Lösung in Form eines Workaround geben soll. Das letzendlich verantwortliche Objekt TPopupList bezieht aber seine Messages aus den Tiefen von Windows und da kann man sich zwar einklinken, aber Key Events lassen sich trotzdem nicht unterscheiden.

Nun gut, trotzdem danke. Ich warte noch ein wenig ab, ob nicht doch noch jemand eine Idee hat.

Viele Grüße.
Stephan Schmahl
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Mal wieder TPopupMenu

  Alt 25. Apr 2006, 21:23
Zitat von Bentissimo:
Das letzendlich verantwortliche Objekt TPopupList bezieht aber seine Messages aus den Tiefen von Windows und da kann man sich zwar einklinken, aber Key Events lassen sich trotzdem nicht unterscheiden.
Stimmt, wenn man eine eigene TPopuplist auf die globale Variable setzt, kann man zwar schön alle Messages abfangen (u.a. WM_MENUCHAR), nur auf die tasten links und rechts kommt nur WM_ENTERIDLE. nützt also nix.

hier mal ein recht kompletter Artikel zu Menus:
http://www.codeproject.com/menu/MenusForBeginners.asp
Sven Harazim
--
  Mit Zitat antworten Zitat
Bentissimo

Registriert seit: 25. Apr 2006
Ort: Friedenfels
82 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Mal wieder TPopupMenu

  Alt 25. Apr 2006, 21:30
Danke für den Link, vielleicht lässt sich daraus noch was machen...

Viele Grüße.
Stephan Schmahl
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 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