LabVIEWForum.de - Dateidialog positionieren

LabVIEWForum.de

Normale Version: Dateidialog positionieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich habe folgendes Problem und komme nicht weiter. Ich hoffe, dass Ihr mir einen Tipp oder Ansatz geben könnt.

Wenn ich auf dem Frontpanel ein Pfadelement mit Suchschaltfläche platziere und im laufenden Betrieb auf die Suchschaltfläche klicke erscheint ein Dateidialog. Diesen möchte ich aus LabVIEW heraus beliebig verschieben bzw. den Ort an dem dieser erscheint vorher Angeben können.

Welche Möglichkeiten gibt es da? Ich habe keinen Eigenschaftsknoten gefunden der diese Möglichkeit bietet.

Gruße Ome
Ich denke der Standarddialog erscheint immer auf dem Hauptarbeitsplatz (bei mehr als einem Monitor) und dort zentriert. Wüsste jetzt auch nicht wie man das ändern könnte, außer sich selbst einen Dialog zu schreiben, den man an beliebiger Stelle aufpoppen lassen kann.

Die Frage ist dann halt nur, ob sich der (Programmier-)Aufwand lohnt... oder ob man damit leben kann.


Gruß SeBa
@SeBa: Fast richtig. Der Dialog erscheint auf dem Monitor auf dem das FP läuft. Edit: Zentriert auf dem Bereich des FP, der sich auf dem Monitor befindet, auf welchem der "Anker" des FP gerade liegt.

@Ome: Ich denke SeBa hat recht, wenn er sagt, dass es in solch einem Fall das Beste ist, sich selbst einen Dialog als SubVI zu basteln. Das Fenster kannst du dann beliebig skalieren und verschieben. Der Aufwand lohnt sich aus meiner Sicht immer, da man sich soetwas einmal erstellt und dann in seiner Bilbliothek abspeichert um es bei Bedarf nicht nochmal erstellen zu müssen.

Du findest dazu auch diverse Beispiele hier im Forum, inkl. BeispielVI's.
' schrieb:@SeBa: Fast richtig. ... Glaub ich dir einfach mal, ohne 2ten Monitor ist das eh schwer zu beurteilenBig Grin

... Der Aufwand lohnt sich aus meiner Sicht immer, da man sich soetwas einmal erstellt und dann in seiner Bilbliothek abspeichert um es bei Bedarf nicht nochmal erstellen zu müssen. ... Kommt drauf an, ob man es wirklich braucht und wie einfach/schnell man es auch selbst realisieren kann. Ein schicker Dateidialog der da aufpoppt wo man will und nicht in der Mitte des aktiven FP... wenn man zuviel Zeit auf solche Gimmicks verwendet, gibts manchmal Ärger mit dem Zeitplan. -> Bei mir würde das als Nice-2-Have ganz am Schluss kommen. Gerade weil es ja etwas ist das man 1zu1 austauschen können sollte.

Du findest dazu auch diverse Beispiele hier im Forum, inkl. BeispielVI's. ... Stimmt. Glaub letzte Woche haben wir ein Panel2Mouse VI gebastelt.Big Grin


Gruß SeBa
Das ist blöd das es nicht einfach geht Sad Das Problem ist das es kein „nice-2-have“ ist sondern notwendig, da neben dem Dialog auch die Bildschirmtastatur zum Einsatz kommt und sich beide Fenster sonst überschneiden.

Die Bildschirmtastatur starte ich zurzeit über Systembefehl ausführen.

Ich hatte gehofft, dass mittels .net auf den Windows-Dateidialog zugegriffen werden kann, so dass ich darüber Zugriff auf den Erscheinungsort. Nur leider kenne ich mich mit .net nicht wirklich aus.

Gruß Ome
Smile Bei .Net kann ich leider gar nicht mehr helfen... Aber wie gesagt: stöber einfach mal ein bisschen im Forum und du findest sicherlich noch das eine oder andere BeispielVI, das du herunterladen kannst.

Oder jemand von den .Net-profis hier hat da eine Idee....
Mit Hilfe von google habe ich jetzt einen .net Dialog erstellen können. Hab das vi mal an gehangen.

Was deine Beispiele betrifft, werde ich mich mal durch hangeln was hier zu finden ist...

Lv09_img2
Link: MSDN

Rein theoretisch weiß ich wie man die Fensterposition setzt... wie man das aber dann per .NET in LV macht...Hmm

Es gibt auch noch die Möglichkeit per user32.dll die SetWindowPos() zu benutzen, aber... wie bekommt man das WindowHandle mit LV..?

Fragen über Fragen...


Gruß SeBa
' schrieb:Es gibt auch noch die Möglichkeit per user32.dll die SetWindowPos() zu benutzen, aber... wie bekommt man das WindowHandle mit LV..?
Bei NI.COM (und vermutlich auch hier im Forum) gibt es schon lange das LVWUTIL32.
Eine Sammlung von Windows-API Funktionen, die den WindowHandle, MoveWindow usw. für LabVIEW einlesen, mit einer eigenen DLL.

Ein .NET Paket habe ich noch nicht gesehen.
Im .NET gibt es diese Funktionen sicher auch.

Nur ein Dialog (+ Dialoge vom LV-Pfadelement) und die Bildschirmtastatur sind keine "normale" Fenster, da geht das nicht so einfach, wenn überhaupt.

Ich würde das alles mit LabVIEW machen. (Dann braucht es auch das LVWUTIL32 nicht)
Mit Suchen findest du eine Bildschirmtastatur die in LabVIEW erstellt wurde und den Pfaddialog kannst du auch selber machen. Da dann alles in LV ist, ist die Positionierung der einzelnen Fenster dann einfach(er).
' schrieb:Bei NI.COM (und vermutlich auch hier im Forum) gibt es schon lange das LVWUTIL32.

Stimmt. Das hab ich sogar mal runtergeladen... aber noch nie benutztTongue


Gruß SeBa
Seiten: 1 2 3
Referenz-URLs