INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Array Scrollbalken abfragen



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!

08.10.2012, 03:38 (Dieser Beitrag wurde zuletzt bearbeitet: 08.10.2012 03:42 von Novgorod.)
Beitrag #1

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Array Scrollbalken abfragen
Ich stecke gerade ein wenig bei einem "Schönheitsfehler" fest...
Es geht um eine eigentlich simple Sache: Wenn der User ein 2D-Array manuell scrollt, sollen 1D-Arrays (als Zeilen- und Spaltenheader des 2D-Arrays gedacht) automatisch mitscrollen, siehe Anhang.

Da es offenbar kein Scroll- oder "Index-changed"-Event für Arrays gibt, ist die übliche Behelfslösung Maus-Events abzufragen (Mouse Down, Mouse Move etc.). Nun hat Windows aber die "Komfortfunktion", dass man den Scrollbalken mit der Maus "festhalten" kann, dabei die Maus aber komplett vom Array und sogar aus dem Programmfenster rausbewegen kann, während in der anderen Dimension weiterhin gescrollt werden kann.
Wenn man also Maus-Events nur auf dem entsprechenden Array abfragt, deckt man nicht alle Fälle ab - wenn die Maus beim Scrollen das Array verlässt, gibts kein Event, obwohl weitergescrollt werden kann (und er Index sich ändert). Man kann sich hier auch noch relativ einfach Abhilfe schaffen, indem man Maus-Events auf dem Pane abfragt - mit einem Klick auf dem Array wird ein "Scrollvorgang" gestartet und dann werden die Maus-Events auf dem Pane registriert und verarbeitet und bei "Mouse Up" wieder beendet (siehe Anhang).

Was ist aber, wenn die Maus beim Scrollen nicht nur das Array, sondern das vi-Fenster (Pane) verlässt? Das Scrollen geht dann immernoch (s.o., Windows-Feature), man kann aber keine Maus-Events mehr abfragen, weil die Maus ja garnicht mehr auf dem Pane ist...
Weiß jemand eine elegante Lösung, wie man z.B. trotzdem noch Maus-Events bekommt? Es würde auch reichen, wenn man den Scrollvorgang programmatisch einfach abbrechen könnte, sobald die Maus das Pane verlässt (also sowas wie ein "Mouse Up" Event an Windows schicken).
Eine brachiale Methode wäre es einfach permanent den Array-Index abzufragen, aber das ist eine unnötige Performanceverschwendung, daher sollte das schon irgendwie erst durch ein Event ausgelöst werden...


Angehängte Datei(en)
12.0 .vi  multiscroll.vi (Größe: 16,13 KB / Downloads: 206)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Array Scrollbalken abfragen - Novgorod - 08.10.2012 03:38

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Bildlaufleiste/Scrollbalken (einer Tabelle) verbreitern Horst 6 5.844 15.06.2020 09:34
Letzter Beitrag: Horst
  Subpanel mit fixierten Scrollbalken labview_Gert 5 3.569 08.01.2013 14:43
Letzter Beitrag: labview_Gert
  Subpanel Scrollbalken entfernen Tatzel 3 5.775 27.08.2007 18:27
Letzter Beitrag: cb
  Frontpanel ohne Scrollbalken kaloy 2 5.617 09.05.2007 09:33
Letzter Beitrag: kaloy
  Boolean Array abfragen Jacktheripper 2 3.801 30.03.2006 10:19
Letzter Beitrag: Jacktheripper

Gehe zu: