Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
09.07.2008, 14:21 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2008 14:21 von Grobi.)
Moin,
also folgendes. Ich habe einen Textring zur Auswahl bei mir eingebaut.
Problem ist, dass nun viele Objekte hinzugekommen sind, und das ganze
somit unübersichtlich wird.
Im Forum habe ich jetzt etwas zu Listbox gefunden, woraus ich aber erstens
nicht schlau werde und mir zweitens die Optik irgendwie nicht gefällt.
Ich bräuchte quasi eine Unterteilung wie im Windows Startmenü. So wie im
Screenshot. Versteht man was ich meine, und geht das irgendwie?
Hallo Eugen,
ich muss gestehen, ich habe noch nie eine Baumstruktur angefasst.
Meinst du so etwas? Das blöde daran ist ja, dass ich es dann aufklicken muss,
und es dann wieder Platz wegnimmt. Am Ring gefällt mir halt so gut, dass er nur
eine Zeile in Anspruch nimmt..
' 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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
genau sowas habe ich auch gesucht. Nur ist mein Menü (das mir vorschwebt) etwas komplizierter. Ich will diese Menüstruktur benutzen, um bestimmte Einstellungen vorzunehmen.
Bsp: Die Einträge der ersten Menüleiste repräsentieren die einzelnen Gruppen, die durch Klick neu öffnende Liste die Optionen, die dann in einem Cluster ausgewählt werden können. Nun sollen für alle Gruppen die gleichen Optionen auswählbar sein, aber trotzdem separat für jede Gruppe einzeln auswählbar und veränderbar.
Ich kann zwar die Optionsliste für jede auswählbare Gruppe neu erstellen, aber das ist glaube ich nicht der beste Weg. Wollte nun fragen, ob es eine Einstellung gibt, die das so möglich macht?
Wenn du ein kompliziertes Menü vorhast, dann ist es sicherlich auch kompliziert, es aufzubauen (vor allem zur Laufzeit). Übrigens, das benutzerdefinierte Kontextmenü kann man auch in der IDE vorab selber aufbauen, aber dann ist es halt fest!
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
ich habs einfach zu Fuss gemacht und für jeden Unterpunkt das gleiche Menü an der Stelle eingefügt. Programmiertechnisch nicht das schönste, aber es funktioniert