LabVIEWForum.de
Panel bei Maus öffnen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Panel bei Maus öffnen (/Thread-Panel-bei-Maus-oeffnen)

Seiten: 1 2


Panel bei Maus öffnen - schrotti - 03.01.2010 22:46

Hallo LV-Coder,

hat einer von euch ein VI, welches die Koordinaten oder die Grenzen eines Panel in der Nähe des Mauscursors platziert, so dass ichs dort öffnen kann? Im Prinzip keine große Sache, aber zu Beachten sind eben die Monitormaße sowie der Multimonitorbetrieb. Auf der ewigen Müllhalde konnt ich bis jetzt nichts finden. Bin für jeden Tipp dankbar.

EDIT: Und an alle noch ein gutes neues Jahr. ProstTupta


Panel bei Maus öffnen - SeBa - 04.01.2010 12:22

Moin,

hab vor einiger Zeit mal was gebastelt...

So bekommst du die Bounds der Monitore:
[attachment=23390]

Und so hab ichs benutzt...
Lv80_img[attachment=23391]
Lv80_img[attachment=23392]

Man könnte die Grenzen jetzt asymmetrisch verteilen (rechts und unten größer), damit dein neues Panel nicht außerhalb der Grenzen erscheint, wenn der User den Cursor zuweit am Bildschirmrand hat. Meiner Erinnerung nach erscheint ein neues Panel mit der linken oberen Ecke am Mauszeiger "hängend".

Die Bounds bei mehreren Monitoren sollten ja kein Problem sein, woher du aber weißt, in welchem Monitor sich der Cursor befindet... k.A.

Gruß SeBa


Panel bei Maus öffnen - schrotti - 04.01.2010 14:38

Das war mein erster Schuss.

[attachment=23397]


Bin damit allerdings nicht zufrieden, da einige Aspekte noch nicht beachtet werden.[list=1]
[*]Die Taskleiste wird überlagert<>
[*]Das Panel kann soweit hoch geschoben werden, dass es mit der Maus nicht mehr zu greifen ist.<>
[*]Unten und rechts am Bildschirm öffnet sich das Panel unter das Maus. Ist das schlecht?<>
[st]Die aktuelle Mausposition sollte natürlich vom Caller des VIs ermittelt und übergeben werden. Wenn dem Event zum Starten des VIs und dem Zeitpunkt der VI-Ausführung zu viel Zeit liegt öffnet sich das Panel nicht an der Mausposition des Events sondern dort, wo der Cursor eben gerade steht.


Panel bei Maus öffnen - SeBa - 05.01.2010 08:22

' schrieb:[list=1]
[*]Die Taskleiste wird überlagert<>
[*]Das Panel kann soweit hoch geschoben werden, dass es mit der Maus nicht mehr zu greifen ist.<>
[*]Unten und rechts am Bildschirm öffnet sich das Panel unter das Maus. Ist das schlecht?<>
[st]

1. Kann ich nicht nachvollziehen, was du damit meinst. Meine Taskleiste ist auf "immer im Vordergrund" eingestellt und genau so verhält sie sich auch.

2. Wenn ich den Cursor am oberen Bildschirmrand positioniere, läd sich dein VI ein Stück tiefer. Verschiebe ich die Titelleiste dann so weit wie möglich nach oben, springt das Panel von alleine wieder ein Stück runter, so dass ich ~5 Pixel der Titelleistenhöhe zum Greifen habe.

3. Was bedeutet unter der Maus? Egal wo ich den Cursor habe, dein VI ist immer vollständig auf dem Monitor.

Alles bezogen auf Singlemonitor.


MfG SeBa


Panel bei Maus öffnen - schrotti - 05.01.2010 13:07

' schrieb:1. Kann ich nicht nachvollziehen, was du damit meinst. Meine Taskleiste ist auf "immer im Vordergrund" eingestellt und genau so verhält sie sich auch.

2. Wenn ich den Cursor am oberen Bildschirmrand positioniere, läd sich dein VI ein Stück tiefer. Verschiebe ich die Titelleiste dann so weit wie möglich nach oben, springt das Panel von alleine wieder ein Stück runter, so dass ich ~5 Pixel der Titelleistenhöhe zum Greifen habe.

3. Was bedeutet unter der Maus? Egal wo ich den Cursor habe, dein VI ist immer vollständig auf dem Monitor.

Alles bezogen auf Singlemonitor.
MfG SeBa

1. Natürlich ist die Vordergrund. Ich meinte es eigentlich genau andersherum. Ich empfinde es als störend, wenn sich ein Panel unter der Taskleiste öffnet. Ich weiß allerdings noch nicht, wie ich die vertikelen Koordianaten der Taskleiste bekommen.

2. Ich habe einen Offset von 5 Pixel, da es komisch wirkt, wenn das Panel sich öffnet und der Mauscursorsymbol ändert. Der Cursor liege ja dann direkt auf der Ecke des Panels. Und dort bietet der Windowmanager eben die Größenveränderung des Panels an. Allerdings sollte die Titelleiste immer komplett sichtbar bleiben. Ist aber leicht zu lösen.

3. Ich finde, wenn genug Platz auf dem Bildschirm ist, sollte sich das Panel nie unter dem Cursor öffnen. Bin mir dabei aber nicht ganz nicht.


Panel bei Maus öffnen - SeBa - 05.01.2010 13:41

1: Taskleistenhöhe bestimmen:
[attachment=23416][attachment=23417]

Evtl. ist das Koordinatencluster vom Arbeitsplatz besser für dein Vorhaben geeignet, als die Angaben für alle Monitore einzeln. Unterschied ist halt, das beim Arbeitsplatz die Taskleiste von der möglichen Höhe des Bildschirms abgezogen wird. Das funktioniert auch, wenn du die Taskleiste mehrzeilig eingestellt hast.

2: Ich stimme dir zu, das der Wechsel des Cursoricons verwirrend und in dem Fall auch unsinnig ist. Allerdings würde ich das Fenster rechts-unter dem Cursor platzieren, sondern links-drüber... sodass der Cursor sich innerhalb der Titelleiste befindet. Ist aber wohl eine Frage des "ich-mag-das-aber-so-haben-ätsch".

3: Wenn du magst, kannst du ja auch einfach prüfen, auf welchem Monitor sich der Cursor befindet und dann das Panel auf diesem zentriert öffnen. Ansonsten läuft das auch in Richtung vom letzten Satz aus 2:

Gruß SeBa


Panel bei Maus öffnen - schrotti - 05.01.2010 13:46

' schrieb:Evtl. ist das Koordinatencluster vom Arbeitsplatz besser für dein Vorhaben geeignet, als die Angaben für alle Monitore einzeln. Unterschied ist halt, das beim Arbeitsplatz die Taskleiste von der möglichen Höhe des Bildschirms abgezogen wird. Das funktioniert auch, wenn du die Taskleiste mehrzeilig eingestellt hast.

Sowas habe ich gesucht. Danke.Guru1


Panel bei Maus öffnen - schrotti - 05.01.2010 13:53

tsssssss aber wie bekomme ich nun raus, welche Monitor mein Hauptarbeitsplatz ist?


Panel bei Maus öffnen - SeBa - 05.01.2010 23:47

Also hier daheim kann ich das mit zwei Monitoren ja endlich mal ausprobieren...

Und das hier kommt dabei raus:
[attachment=23437][attachment=23438]

So scheint der Hauptarbeitsplatz (Monitor mit Taskleiste, primäres Anzeigegerät... w/e) die Koordinate "Links" mit 0 zu belegen, der zweite Monitor hat als linke Koordinate dann die Breite des ersten Monitors in Pixeln (bei mir sind beide 1680px breit). Bei mir ist der Hauptmonitor der Linke...

Ist der Hauptarbeitsplatz der rechte Monitor, hat der zweite Monitor eine negative linke Koordinate der Breite des zweiten Monitors.

Schaut schlüssig aus... Big Grin

Gruß SeBa


Panel bei Maus öffnen - schrotti - 06.01.2010 12:41

' schrieb:Schaut schlüssig aus... Big Grin
Ist es auch. Ich kann jetzt nicht mehr so richtig nachvollziehen, warum da gestern nicht selber drauf gekommen bin. Brett und Kopf und so, du weißt schon. Wert das heut mal ausprobieren.