LabVIEWForum.de - Hinweisgrafik auf Dialogboxen

LabVIEWForum.de

Normale Version: Hinweisgrafik auf Dialogboxen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

in anderen Programmierumgebungen, z.B. MS Visual "irgendwas" kann man sich ganz einfach Hinweis-Symbole auf Dialog-Boxen anzeigen lassen. In VisualBasic ist es mit den optionalen Angaben "vbcritical", "vbinformation", "vbquestion" und "vbexclamation" ganz einfach, sich folgendes anzeigen zu lassen:


[attachment=9473] [attachment=9475] [attachment=9476] [attachment=9474]


Warum ist das in LV nicht möglich? Oder ist es möglich, und ich weiß es bloß nicht?Blink

Klar, ich könnte mir das selber basteln indem ich ein VI als Dialog anzeigen lasse und die Grafiken da reinkopiere...aber schöner wärs, wenn das schon fertig wäre! Das sind doch vermutlich sowieso Windows-Dialoge, könnte man die über API-Funktionen (user32.dll ??) aufrufen? Hat das schon mal jemand gemacht?

Gruß
Achim
Das ist möglich. Ich habe irgendwo auf der NI-Homepage mal ein Bsp. runtergeladen, finde es dort aber gerade leider nicht mehr.
Ich kann es Dir erst am Mo. geben, weil ich es daheim nicht auf dem Rechner habe, sondern nur im Geschäft (auf Arbeit).

Gruß Markus
' schrieb:Hallo zusammen,

in anderen Programmierumgebungen, z.B. MS Visual "irgendwas" kann man sich ganz einfach Hinweis-Symbole auf Dialog-Boxen anzeigen lassen. In VisualBasic ist es mit den optionalen Angaben "vbcritical", "vbinformation", "vbquestion" und "vbexclamation" ganz einfach, sich folgendes anzeigen zu lassen:
[attachment=36392:critical.jpg] [attachment=36394:information.jpg] [attachment=36395:question.jpg] [attachment=36393:exclamation.jpg]
Warum ist das in LV nicht möglich? Oder ist es möglich, und ich weiß es bloß nicht?Blink

Klar, ich könnte mir das selber basteln indem ich ein VI als Dialog anzeigen lasse und die Grafiken da reinkopiere...aber schöner wärs, wenn das schon fertig wäre! Das sind doch vermutlich sowieso Windows-Dialoge, könnte man die über API-Funktionen (user32.dll ??) aufrufen? Hat das schon mal jemand gemacht?

Genau! int MessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType); aus user32.dll macht das. LabVIEW hat das nicht dabei, da das eine Windows API only Funktion ist. Und auf dem Web und anderswo schwirren tausend Varianten davon rund, manche einfach als echte LabVIEW VIs, andere als DAS Standartvorbild, wie man die Call Library Node benützt.

Rolf Kalbermatter
Hier ist das Bsp., das ich gemeint habe....

[attachment=9490]
[attachment=9495]

Gruß Markus
Ah jetzt ja... stimmt...jetzt wo ich das sehe...das hatte ich irgendwann sogar schon mal runtergeladen und irgendwo eingebaut!

Wie würdet ihr das machen...ist es "sicher", solche aufgehübschten Dialoge über die user32.dll aufzurufen, oder würdet ihr lieber die LV-internen Dialoge verwenden? Sind das nicht auch nur OS-Dialoge? Oder sind das tatsächlich VI's?

Gruß
Achim
' schrieb:Ah jetzt ja... stimmt...jetzt wo ich das sehe...das hatte ich irgendwann sogar schon mal runtergeladen und irgendwo eingebaut!

Wie würdet ihr das machen...ist es "sicher", solche aufgehübschten Dialoge über die user32.dll aufzurufen, oder würdet ihr lieber die LV-internen Dialoge verwenden? Sind das nicht auch nur OS-Dialoge? Oder sind das tatsächlich VI's?

Gruß
Achim

Die LabVIEW Dialoge sind in LabVIEW implementierte Dialoge (ausser dem File Dialog wenn Du native Filedialog in den Optionen ausgewählt hast). Aber die meisten davon (ausser den neueren Edit-Dialogen die Du während der Entwicklung allenthalben zu sehen bekommst) sind keine VIs sondern sind direkt in C programmiert. Einen grossen Nachteil haben sie auch noch, sie gehen alle durch die LabVIEW root-loop und blockieren alle anderen Dinge die im UI Thread ausgeführt werden müssen (Property Nodes, non-reentrant DLL calls, etc).

Wenn Du hübsche Grafiken haben willst ist ein LabVIEW VI das als Dialog konfiguriert ist meiner bescheidenen Meinung nach das Beste. Die sind plattformunabhängig, recht leicht zu machen, und haben auch oben genanntes root-loop Problem nicht.

Für quick and dirty verwende ich schon auch mal den eingebauten LabVIEW One Button oder Two Button Dialog, aber wenn es grafisch etwas ansprechender werden muss, dann ist Marke Eigenbau angesagt.

Rolf Kalbermatter
Huhu, zu dem Thema hät ich auch eine Frage:

Ist es denn nicht möglich, einen Titel in eine Dialog-Box einzufügen?
Nö, glaube nicht...musst du als SubVI selber basteln!
Ist schon möglich mit dem *Three Button Dialog*
Die Taster die du nicht möchtest, schliesst du eine leere Stringkonstante an.
' schrieb:Klar, ich könnte mir das selber basteln indem ich ein VI als Dialog anzeigen lasse und die Grafiken da reinkopiere...

Das hab ich inzwischen übrigens auch so gemacht...weil nämlich ein Kunde einen IPC mit deutschem Windows in seinem Werk in China einsetzt...da sind dann alle von mir gebauten Oberflächen zwar in Englisch, wenn ich aber den Dialog (wie bisher) über das von Y-P vorgeschlagene VI "Fenster von Windows anzeigen.vi" realisiere...dann sind die Texte für den Dialog zwar wie von mir vorgegeben in Englisch...die Beschriftung der Buttons erfolgt aber automatisch in Deutsch, weil das vom Betriebssystem geliefert wird! Wald

Gruß
Achim
Seiten: 1 2
Referenz-URLs