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 

Listbox Element-Auswahlrahmen verhält sich falsch



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!

10.09.2010, 22:45
Beitrag #1

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Listbox Element-Auswahlrahmen verhält sich falsch
Moin,

ich hab ein kleines Problem - es ist zwar nur ein Schönheitsfehler, nervt aber ein wenigWink
Ich hab mir mit den Listbox-controls einen einfachen Dateibrowser gebastelt, die Ordner werden in einer Listbox angezeigt, die Dateien in einer anderen. Zum Navigieren kann man sich duch das Ordner-Fenster klicken (Doppelklick) - der ausgewählte Ordner wird geöffnet und alle Unterordner in der Ordner-Listbox angezeigt (und die Dateien in der Datei-Listbox), zusätzlich gibts in der Ordner-Listbox als ersten Eintrag "..", womit man eine Ebene höher kommt..

Das ganze läuft relativ simpel über die Event-Abfrage: wird ein (Unter-)Ordner ausgewählt, wird dessen Inhalt per Property "ItemNames" in der Listbox angezeigt..
Das Problem ist nun folgendes: Wählt man einen Ordner per Doppelklick aus, sollte nach dem Auflisten des Inhalts jedes mal das oberste Element ".." ausgewählt (also "blau") sein - auch das geht ganz einfach, indem man der entsprechenden Listbox 0 als value gibt.. Nun gibts aber noch so nen blöden Auswahlrahmen (gepunktete Linie) um das "blaue" (aktive) Element herum und eben dieser gepunktete Auswahlrahmen bewegt sich nicht, wenn man das aktive Element der Listbox per Wertzuweisung ändert - es bleibt also in der Zeile, die man vorher angeklickt hat:

   

Und noch schlimmer - es bleibt an derselben Stelle, selbst wenn die neue Liste an dieser Stelle garkein Element hat (in diesem Beispiel hat die Liste nur 1 Element, nämlich ".."):

   

Wenn man keine Wertzuweisung vornimmt, ist kein Element "blau", der Auswahlrahmen ist trotzdem an der falschen Stelle. Man kriegt ihn nur weg, indem man ein Element anklickt.. Das hat offenbar was mit der Klick-Auswahl zu tun, denn in der Dateien-Listbox kommt gar kein Auswahlrahmen bzw. verschwindet, wenn man in der Ordner-Listbox herumklickt (d.h. da gibts höchstens ein "blaues" element ohne Auswahlrahmen)..
Hat jemand eine Idee, wie man das beheben könnte? Kann man evtl. einen Mausklick aufs richtige Element simulieren oder diesen Auswahlrahmen ganz abschalten?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.09.2010, 09:41 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2010 09:43 von Matze.)
Beitrag #2

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Listbox Element-Auswahlrahmen verhält sich falsch
Hallo

' schrieb:Nun gibts aber noch so nen blöden Auswahlrahmen (gepunktete Linie) um das "blaue" (aktive) Element herum und eben dieser gepunktete Auswahlrahmen bewegt sich nicht, wenn man das aktive Element der Listbox per Wertzuweisung ändert - es bleibt also in der Zeile, die man vorher angeklickt hat
Bei mir funktioniert es, wenn ich nicht das aktive Element, sondern den Wert selbst ändere.
Klicke ich dann in die ListBox, sehe ich den gepunkteten Rahmen. Ändere ich per Code dann den Item-Index, verschwindet der gepunktete Rahmen und das entsprechende Item wird hervorgehoben.


Sonstige .vi  listbox.vi (Größe: 13,04 KB / Downloads: 213)
Lv85_img

   

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.09.2010, 19:57 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2010 19:58 von Novgorod.)
Beitrag #3

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Listbox Element-Auswahlrahmen verhält sich falsch
Das Problem ist nicht die Art der Wertzuweisung (ich kanns so machen wie du über die value-Property oder einfach über ne lokale Variable, das ändert nix) - das Problem ist das Event.. Du änderst das aktive Element durch ein Event an einem anderen control (Item Index), bei mir wäre das Event "Listbox: Double click" (was zum browsen ja durchaus essenziell ist), und genau dabei bleibt der gepunktete Rahmen auf der angeklickten Zeile stehen...

Lv85_img
Sonstige .vi  listbox_doubleklick.vi (Größe: 9,4 KB / Downloads: 187)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.09.2010, 10:03 (Dieser Beitrag wurde zuletzt bearbeitet: 12.09.2010 10:07 von Matze.)
Beitrag #4

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Listbox Element-Auswahlrahmen verhält sich falsch
Stimmt, bei einem Doppelklick funktioniert es nicht.
Da wäre vielleicht ein Filter-Event "Double Click?" sinnvoll, nur gibt's das leider nicht.

Ich vermute, dass es ohne weiteres nicht geht. Mich würden nähere Infos diesbezüglich jedoch auch interessieren..

Eine ganz schlampige Lösung habe ich angehängt. Aber da wirst du selbst sehen, dass das nur ein sehr unschöner Workaround ist, der auch nur unter Windows funktioniert.
Eigentlich darf man das keinem zeigen. Rolleyes
Es ist wirklich nur eine Notlösung und ich würde eher davon abraten, diese zu verwenden.


Sonstige .vi  listbox_doubleklick.vi (Größe: 22,61 KB / Downloads: 165)
Lv85_img

   

Ganz kurz zur Funktionsweise:
Ich ermittel die aktuelle Mausposition. Anschließend addiere ich die Listbox-Zellenhöhe auf die y-Koordinate, setze die Maus an diese Position und simuliere einen Mausklick. Danach setze ich die Mausposition auf den ursprünglichen Wert zurück.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.09.2010, 22:42
Beitrag #5

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Listbox Element-Auswahlrahmen verhält sich falsch
Hübsch gemacht, Mechatronik-IngeBig GrinWink

An sowas ähnliches hab ich auch gedacht, war mir aber zuviel Aufwand, die Maus-Fuktionen rauszukramen (hat Labview überhaupt welche?) und mit den Windows-dlls kenn ich mich garnicht aus.. Naja, in meinem Fall müsste das oberste Element der Liste markiert werden, das lässt sich aber mit der Methode leicht machen..
Also ich werd darauf zurückgreifen, falls garnix mehr hilft, deshalb danke erstmal dafürWink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2010, 05:37 (Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2010 05:44 von Matze.)
Beitrag #6

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Listbox Element-Auswahlrahmen verhält sich falsch
' schrieb:Hübsch gemacht, Mechatronik-IngeBig GrinWink
Waa, das ist mir noch gar nicht aufgefallen "Mechatronik-Inge...", also ne. Lol
Der Nick ist irgendwie nichts ...

Das Problem an obigem Code ist u.a., dass ich bei meinem Rechner etwas über 100 ms vor dem Klick warten muss (daher die Wartezeit). Wenn man in der Zeit die Maus bewegt, dann geht der Klick natürlich wo anders hin.
Wenn sich keine saubere Lösung findet, kannst du ja mal schauen, wie zufriedenstellend das bei dir funktioniert.

Vielleicht kann man beim Klick-Vorgang auch direkt die Koordinaten angeben. Da gibt's auch die Eingänge dx und dy, nur haben die bei mir nicht funktioniert.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.09.2010, 08:49
Beitrag #7

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Listbox Element-Auswahlrahmen verhält sich falsch
Da gabs übrigens mal so ein ähnliches Problem mit der Listbox...

LVF-Link

Hat sich dann als "Feature" von LV rausgestellt Big Grin

Vielleicht hilft dir der dort gezeigte Workaround weiter.

Gruß SeBa

EDIT:
Die Schummellösung von Mecha-Inge hat natürlich auch Charme.

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2010, 12:40
Beitrag #8

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Listbox Element-Auswahlrahmen verhält sich falsch
Ja, der Workaround ist ähnlich, da werden halt Tastaturinputs simuliert - müsste etwas robuster sein, die Lösung..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Listbox-Problem THL 4 4.160 03.07.2017 10:18
Letzter Beitrag: GerdW
  MultiColumn Listbox Pfeiltasten Navigation GT123 1 2.746 09.02.2017 22:12
Letzter Beitrag: Trinitatis
  Listbox Selektierter Bereich ausgeben Nobby 5 4.431 22.12.2016 15:09
Letzter Beitrag: Tomtom89
  Hintergrundfarbe Listbox ändern andrepf 1 3.821 23.03.2016 16:20
Letzter Beitrag: jg
  Einfärben einer Zeile bei MultiColum Listbox Arachnoid 2 3.692 07.12.2015 19:40
Letzter Beitrag: Arachnoid
  Listbox leeren tatnau 14 8.587 08.09.2015 14:31
Letzter Beitrag: GerdW

Gehe zu: