' schrieb:Das sieht ja ideal aus. Auf den ersten Blick versteh ich zwar nicht was dort passiert,
aber ich hab ja die Tage Zeit mir das reinzuziehen.
Besten Dank erstmal.
Ich erkläre noch mal ein paar Details des Beispiel.
Es ist im Prinzip nur um eine geschickte Kombination von verschiedenen Events, die LV mit der Event-Struktur bietet.
1. Jedes LV-Control Element hat ein Kontext-Menü, auch zur Laufzeit, dass üblicherweise per rechtem Maus-Button aufgerufen werden kann. Dies kann man, wenn man will, global in den VI-Eigenschaften abstellen. Interessant für das Beispiel ist, dass man das vordefinierte Kontextmenü auch durch ein benutzerdefiniertes ersetzen kann, und ein solches Menü auch zur Laufzeit erstellen kann. Für weitere Details verweise ich jedoch hier an die Beispiele, die man im NI-Examplefinder finden kann (Hierbei ist egal, ob ein Pulldownmenü der in der Startleiste oder ein Kontextmenü erzeugt wird).
2. So, das 2. Event, dass ich anwende, ist "Shortcut Menu Activation?". Dieses Ereignis wird immer dann ausgelöst, wenn der Anwender versucht, ein Kontextmenü per Rechter Mausbuttonklick zu aktivieren. Hier kann man z.B. das Event auch ablehnen oder, wie hier gezeigt, zur Laufzeit das entsprechende Kontextmenü dynamisch erzeugen.
3. Jetzt zum letzten Punkt, um den Effekt zu erzeugen, dass das Kontextmenü auf den "linken" statt auf den rechten Mausbutton reagiert, dazu dient das Event "Mouse Down?". Das ist wieder so ein Event, das man z.B. auch ablehnen kann. Hier erzeuge ich aber einfach beim Klick des linken Mausbuttons ein Event des rechten Mausbuttons (s. Casestruktur).
Das ist es schon.
Klickst du jetzt den linken Mausbutton auf dem Control, reagiert das Event "Mouse Down?", erzeugt das rechte Mausbutton-Klick-Event, das wird wieder von der Event-Struktur abgefangen, es wird das Kontextmenü erzeugt und dargestellt, Benutzer kann etwas auswählen, und wenn er dann was ausgewählt hat, dann "merkt" das wieder die Event-Struktur mit Hilfe des Events "Shortcut Menu Selection (User)".
MfG, Jens