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!
03.11.2007, 09:06 (Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2007 09:08 von Achim.)
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:
Warum ist das in LV nicht möglich? Oder ist es möglich, und ich weiß es bloß nicht?
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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Hinweisgrafik auf Dialogboxen
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
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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?
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.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
' 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.
' 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!
Gruß
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)