LabVIEWForum.de
Registerkarte-Probleme - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Registerkarte-Probleme (/Thread-Registerkarte-Probleme)

Seiten: 1 2


Registerkarte-Probleme - jg - 14.04.2009 21:01

Speziell für Y-P:
Hier eine geänderte Version, ich habe mir erlaubt, einige Unbundle Cluster durch Unbundle by Name zu ersetzen, dann wird es hoffentlich klarer:
[attachment=17699]
Ist doch eigentlich recht einfach:
Bei Maus-Button gedrückt holt sich das VI die Position des Mauszeigers, wird in Schieberegister gespeichert.
Größe der Fensters wird ebenfalls hier berechnet, genauso die aktuelle Position, beides in Shift-Register gespeichert.
Dann schlägt das Event "MouseMove" zu, es wird die Veränderung der Mausposition berechnet und überprüft, ob der linke Mausbutton noch betätigt ist. Wenn ja, wird eine neue Position für das FP-Fenster berechnet, denn Verschiebung und letzte Position sind im Schieberegister gespeichert.
Alles klar?

Gruß, Jens


Registerkarte-Probleme - Y-P - 15.04.2009 06:52

Danke für die Erklärung, Jens.
Ich hatte viel zu kompliziert gedacht.
Wenn man weiß wie, dann ist es ganz einfach.

Gruß Markus


Registerkarte-Probleme - Satoru - 15.04.2009 20:59

Also ich hab es mal ein bisschen getestet und bin schon ziemlich beeindruckt! Allerdings ist ein kleines Problem noch übrig: So wie es jetzt geschrieben ist, bietet jeder Punkt auf der Oberfläche des FP ein Angriffspunkt zum verschieben.
Jetzt kommen aber wieder die Listenfelder, deren Bildlaufleise man dann nicht mehr verschieben kann, da das ja dann als Fixpunkt zum verschieben genutzt wird.
Jezt meine Frage: Ist es möglich, die Fläche von Angriffspunkten zu begrenzen? Das man quasi nur an einem bestimmten Punkt die Möglichkeit hat, alles zu verschieben, zB an einem Button oder so?

Grüße,
Satoru


Registerkarte-Probleme - jg - 15.04.2009 21:06

Na klar, du musst die Events Mouse Down und Mouse Move doch nur für den entsprechenden Button definieren anstatt für das Tab-Control (bsp. ImExPorty) oder das FP-Pane (mein Bsp).

Gruß, Jens


Registerkarte-Probleme - Satoru - 15.04.2009 21:31

hehe, stimmt... da hätte ich auch selbst drauf kommen könnenBlush
Aber vielen Dank auf jeden Fall!


Registerkarte-Probleme - Satoru - 17.04.2009 18:22

Hallo nochmalWink

Ich habe jetzt einen neuen Button gemacht, der den Event Mouse Down und Mouse Move abfängt. Vom Prinzip her geht das auch sehr gut, allerdings nur wenn man die Maus relativ langsam bewegt.
Bewege ich mein Maus zu schnell (aber nicht übertrieben schnell, also durchschnittlich) bleibt das ganze FP stehn. Wenn ich die Maus aber gedrückt lasse, und zurück über den Button fahre, dann
bewegt sich das Frontpanel wieder mit... Ich dachte schon, da sei vielleicht eine Zeitkonstante zu kurz oder zu lang, aber die gibt es wohl nicht in der Strucktur. Daher jetzt mein Frage:
Kann ich diese Positionsabfrage (die ja vermutlich nicht mit meiner Bewegung hinterherkommt) irgendwie beschleunigen?

Grüße,
Satoru


Registerkarte-Probleme - ImExPorty - 18.04.2009 12:52

Hallo Satoru,
anbei ein etwas anderer Lösungsansatz.

[attachment=17893]

da ist noch ein "Bit" dazugekommen:
[attachment=17892]

Lv85_img[attachment=17891]

Zu Deinem zweiten "Problem" würde ich aktuell vermuten, das die Positionsabfrage bereits jetzt schon schnell genug ist.
Wenn die Mausposition in dem Randbereich (in Richtung der Mausbewegung) der Registerkarte liegt, bei der die Bezugposition ausgelesen wird, kann es vorkommen, dass durch die Neupositionierung des Panels sich die Abbruchbedingung der Bewegung ergibt.
Ein Lösungsansatz wäre hier die Koordinatentransformation/berechnung im absoluten mit Toleranzwerten (Berücksichtigung der Geometrie) durchzuführen.
viel ErfolgTop1