AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü
Thema durchsuchen
Ansicht
Themen-Optionen

FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

Ein Thema von QuickAndDirty · begonnen am 31. Aug 2022 · letzter Beitrag vom 6. Sep 2022
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#1

FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 31. Aug 2022, 16:31
Hallo,
Ich möchte HeaderSpalten über einen Rechtsklick ausblenden oder einblenden. Dazu möchte ich im Falle eines Rechtsklicks ein Kontextmenü einblenden.
Die Ereignisse OnCellClick und OnHeaderClick reagieren nur auf die linke Maustaste.
Evtl. wäre auch das Verknüpfen der Columns mit "bin" icons und "+" icons eine Lösung wenn das FMX TStringgrid das unterstützt...wäre toll wenn das dann nicht alles zufuss gelöst werden müsste.
Vielleicht gibts eine "erweiterte" Editierbarkeits Eigenschaft?
Oder ein nicht veröffentlichtes OnMouseDown Ereignis?

Sprich was sollte ich tun?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.478 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 31. Aug 2022, 22:48
Du kannst für das Stringgrid Dir selber ein OnMouseDown (oder MouseUp) Event anlegen und im Formcreate das Event zur Laufzeit zuweisen und im Event dann prüfen, ob linke oder rechte Maustaste gedrückt wurde.

Der Header ist da aber nicht mit einbezogen, da gibt es meines Wissens keine Möglichkeit auf einen Rechtsklick zu reagieren.

Das einfachste wäre vielleicht ein Pop-Menü dem Stringgrid zuzweisen, das wird bei Rechtsklick auf das Grid selber angezeigt (dann brauchst Du das obige Event allerdings nicht - wenn Du es doch nimmst, musst Du das PopUp-Menü selber anzeigen lassen).
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 1. Sep 2022, 12:57
Hallo,
Ich möchte HeaderSpalten über einen Rechtsklick ausblenden oder einblenden. Dazu möchte ich im Falle eines Rechtsklicks ein Kontextmenü einblenden.
Die Ereignisse OnCellClick und OnHeaderClick reagieren nur auf die linke Maustaste.
Evtl. wäre auch das Verknüpfen der Columns mit "bin" icons und "+" icons eine Lösung wenn das FMX TStringgrid das unterstützt...wäre toll wenn das dann nicht alles zufuss gelöst werden müsste.
Vielleicht gibts eine "erweiterte" Editierbarkeits Eigenschaft?
Oder ein nicht veröffentlichtes OnMouseDown Ereignis?

Sprich was sollte ich tun?
Darf ich fragen wieso Du in einer FMX-Anwendung ein Feature einbauen willst, das auf nicht-Windows Platformen nicht funktionieren kann? (Wie macht man einen "rechts Klick" auf einem Touchscreen?).
Peter Below
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.901 Beiträge
 
Delphi 12 Athens
 
#4

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 1. Sep 2022, 13:24
Wie macht man einen "rechts Klick" auf einem Touchscreen?).
Man könnte einen "LongPress" einer Taste/Eingabe dafür nutzen, um einen Rechtsclick zu simulieren.
Das wird ja meistens nicht verwendet, ist natürlich auf Tablets usw. auch nicht besonders intuitiv.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#5

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 1. Sep 2022, 14:49
Darf ich fragen wieso Du in einer FMX-Anwendung ein Feature einbauen willst, das auf nicht-Windows Platformen nicht funktionieren kann? (Wie macht man einen "rechts Klick" auf einem Touchscreen?).
Die Anwendung gibt es nur als Windows Executable. Und ich bin hochgradig überzeugt von Kontextmenüs.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#6

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 1. Sep 2022, 14:52
Du kannst für das Stringgrid Dir selber ein OnMouseDown (oder MouseUp) Event anlegen und im Formcreate das Event zur Laufzeit zuweisen und im Event dann prüfen, ob linke oder rechte Maustaste gedrückt wurde.

Der Header ist da aber nicht mit einbezogen, da gibt es meines Wissens keine Möglichkeit auf einen Rechtsklick zu reagieren.

Das einfachste wäre vielleicht ein Pop-Menü dem Stringgrid zuzweisen, das wird bei Rechtsklick auf das Grid selber angezeigt (dann brauchst Du das obige Event allerdings nicht - wenn Du es doch nimmst, musst Du das PopUp-Menü selber anzeigen lassen).
OK das geht nur wen ich keine Zelle im Grid anklicke. Zumindest reagiert der Header des Gitters nicht auf die Rechtsklicks.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 1. Sep 2022 um 14:56 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 2. Sep 2022, 11:11
Darf ich fragen wieso Du in einer FMX-Anwendung ein Feature einbauen willst, das auf nicht-Windows Platformen nicht funktionieren kann? (Wie macht man einen "rechts Klick" auf einem Touchscreen?).
Die Anwendung gibt es nur als Windows Executable. Und ich bin hochgradig überzeugt von Kontextmenüs.
Warum dann FMX und nicht VCL?
Peter Below
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#8

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 3. Sep 2022, 00:20
Warum dann FMX und nicht VCL?
Bin nicht der Fragesteller, aber mache das gleiche: Desktop only mit FMX. Grund ist, dass es eben auch für reine Desktopanwendungen ein Weg ist gewisse Dinge deutlich einfacher und überhaupt erst zu machen, da dort Sachen möglich sind, die die antike VCL schlicht nicht bieten kann, bzw. wenn nur über horrende Klimmzüge. Hauptgrund für mich war das absolut schwerzfreie Ermöglichen von Anwendungen die skalieren können - Sonderfall weil für Anlagenvisualisierungen, bei denen die GUI in vielen Punkten nicht einer üblichen Anwendung entsprechen, aber dennoch ein guter Grund, finde ich.
Auch wenn auch ich bereits öfter über die Mobile-Ausrichtung des Frameworks gestolpert bin, und mir manchmal darüber die Haare raufe, dass Dinge die vergleichbare Controls in der VCL seit über 10 Jahren standardmäßig können, da auf ein Mal komplett außer Acht gelassen wurden. Zudem: Wenn es nicht gewünscht gewesen wäre FMX auf echten PCs zu nutzen, hätte man das einfach nicht zulassen können seitens Emba. Haben sie aber, also sollte es auch PC-gemäßes Handling unterstützen. (Was es weitgehend ja auch tut, aber an solchen "Details" kann man schon anecken.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#9

AW: FMX TStringGrid wie reagiert man auf einen Rechtsklick/Kontextmenü

  Alt 6. Sep 2022, 09:57
Darf ich fragen wieso Du in einer FMX-Anwendung ein Feature einbauen willst, das auf nicht-Windows Platformen nicht funktionieren kann? (Wie macht man einen "rechts Klick" auf einem Touchscreen?).
Die Anwendung gibt es nur als Windows Executable. Und ich bin hochgradig überzeugt von Kontextmenüs.
Warum dann FMX und nicht VCL?
Weil FMX vieles einfach besser als VCL kann.
Plus ich kann Oberflächen Elemente aus der Mobilen App , einfach aus kopieren und in die Windows Anwedung von der aus die mobile App-administriert wird einfügen ohne alles neu bauen zu müssen.
Ich finds auch total störend, dass ich das mit VCL Anwendungen nicht machen kann.
Ist aber jetzt schon gelöst.
Andreas
Monads? Wtf are Monads?
  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 22:20 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