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!
06.06.2008, 07:36 (Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2008 07:36 von Grobi.)
' schrieb:Ich finde leider keinen EIgenschaftsknoten dazu...
Ich auch nicht.
Möglicherweise geht das nicht - weil es auch sinnlos sein könnte. Du kannst ja jedem Cursor eine andere X(Y)-Achse zuweisen. So gesehen würde ein Spaltentitel in Form des Achsnamens sinnlos sein.
Blende halt einen String drüber.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
15.06.2008, 16:31 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2008 08:59 von jg.)
Da ich gerade mal wieder mit den Graphen experimentiere und mich dabei wieder mal darüber ärgere, was NI alles (vor allem in V8.5) nicht erlaubt, hier noch nachträglich eine Möglichkeit, wie du dir zumindest ein Custom Control mit anderen Titeln erstellen kannst. Leider habe ich auch keine Möglichkeit gefunden, das ganze zur Laufzeit zu machen.
Trotzdem hier eine Erklärung:
1. Entweder Graphen auf dem Frontpanel erstellen und dann auf "Customize Control" aus dem Edit Menü gehen oder ein neues Custom Control (File -> New...) mit einem Graphen anlegen.
2. In den Customize Mode gehen.
3. Jetzt die Cursor Legende aktivieren und wiederum "Customize Control" auswählen.
4. Es öffnet sich ein neues "Customize Control" Fenster mit nur dem Tree-Control der Cursor-Legende. Hier kann man jetzt die Titelzeilen editieren.
5. Customize Fenster schließen und Änderungen übernehmen, fertig.
Jetzt
Wenn die Skalenstrings (so wie mich) in der Skalenlegende stören, genauso vorgehen wie oben beschrieben, dann kann man auch in LV8.5 das String-Control in der Skalenlegende auf Unsichtbar schalten. Wieso das allerdings in LV8.5 nicht mehr direkt geht (in LV8.2 gings noch), bleibt mir weiterhin ein Rätsel.
Und wieso kann man eigentlich bei angezeigter Plot-Legende die Plotnamen grundsätzlich editieren, während das Programm läuft? Und dies kann man nicht ändern (zumindest habe ich bisher nichts gefunden).
In diesem Zusammenhang würde ich mir wünschen, dass NI in die Kontextmenüs mal wieder so einiges aus LV8.2 einbaut. Super wäre, wenn man zumindest zu jedem der Zusatzelemente (Plot-Legend, Scale Legend, Graph Palette, Cursor Legend) eine Referenz erstellen kann (oder dass diese mal in die Property Node der Graphen eingebaut wird), vgl. hierzu Screenshot aus LV8.2:
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Als sinnlos sehe ich das ganze übrigens nicht, ich finde das ganze für den
Nutzer einfach besser lesbar, wenn er dort die Achsennamen drinstehen hat.
Und ich habe in allen Graphen nur eine Achse, Strom/mA = Y und
in einigen Frequenz/Hz = X oder Zeit /ms, aber immer ODER, von
daher dürfte das kein Problem darstellen.
Eine kleine Frage allerdings noch dazu. Wenn ich meine ganzen Graphen jetzt so bearbeite,
werden sie ja als *.ctl (glaub ich) abgespeichert. Kann ich dann nach der Frage, ob ich Graph XYZ
durch *.ctl ersetzen will, davon ausgehen, dass auch alle Eigenschaftsknoten etc. und alle
Grapheinstellungen sicher übernommen werden? Oder sollte man Custom Controls lieber von
Anfang an einbauen und nicht nachträglich Elemente so bearbeiten?
Die entstandenen *.ctl's gehören die im Application Builder einfach
mit in die "Immer enthalten" Spalte der Quelldateien? Oder wo fügt
man dort die Custom Controls ein?
Als sinnlos sehe ich das ganze übrigens nicht, ich finde das ganze für den
Nutzer einfach besser lesbar, wenn er dort die Achsennamen drinstehen hat.
Und ich habe in allen Graphen nur eine Achse, Strom/mA = Y und
in einigen Frequenz/Hz = X oder Zeit /ms, aber immer ODER, von
daher dürfte das kein Problem darstellen.
Eine kleine Frage allerdings noch dazu. Wenn ich meine ganzen Graphen jetzt so bearbeite,
werden sie ja als *.ctl (glaub ich) abgespeichert. Kann ich dann nach der Frage, ob ich Graph XYZ
durch *.ctl ersetzen will, davon ausgehen, dass auch alle Eigenschaftsknoten etc. und alle
Grapheinstellungen sicher übernommen werden? Oder sollte man Custom Controls lieber von
Anfang an einbauen und nicht nachträglich Elemente so bearbeiten?
mfG
Robert
' schrieb:Ich möchte noch eine zweite Frage kurz anhängen.
Die entstandenen *.ctl's gehören die im Application Builder einfach
mit in die "Immer enthalten" Spalte der Quelldateien? Oder wo fügt
man dort die Custom Controls ein?
mfG
Robert
Ich hab doch gar nichts von sinnlos gesagt...
Jetzt zu deinen Fragen: Ist alles recht egal. Ob du jetzt deine angepassten Graphen als ctl speicherst oder nicht, Jacke wie Hose, es wirden auf jeden Fall das aktuelle Control Teil des FP. Es muss somit auch nicht mehr nachträglich im Application Builder eingebunden werden.
Vorteil, wenn du es als ctl abspeicherst: Du kannst dieses Custom Control nehmen und dann an verschiedenen Stellen im Code einbinden. Dabei sollten sich bei Ersetzen eines Controls (über Replace) auch keine Probleme bei Property Nodes ergeben (im Zweifelsfall einfach mal ausprobieren).
Noch weiter könntest du natürlich gehen, wenn du die Custom Controls als "(Strict) Type Definition" abspeicherst, da dann mglw. weitere Einstellungen automatisch übertragen werden. Bei nur einem Graphen sehe ich aber keinen großen Sinn in einer Type Definition. Das macht eher bei Clustern oder Enums Sinn.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Zitat:Ich hab doch gar nichts von sinnlos gesagt...
Ne, das war auf die erste Antwort von IchSelbst bezogen..
Zitat:Es muss somit auch nicht mehr nachträglich im Application Builder eingebunden werden
Das ist sehr gut, ich habe grade meine Graphen nun alle angepasst. Das man das garnicht als *.ctl speichern
muss ist mir erst anschließend aufgefallen.
Besten Dank, nun weiß ich bescheid
mfG
Robert
17.06.2008, 07:56 (Dieser Beitrag wurde zuletzt bearbeitet: 17.06.2008 08:03 von Lucki.)
' schrieb:Und wieso kann man eigentlich bei angezeigter Plot-Legende die Plotnamen grundsätzlich editieren, während das Programm läuft? Und dies kann man nicht ändern (zumindest habe ich bisher nichts gefunden).
Dann muß man eben mit Taschenspieler-Tricks arbeiten. Und wie ich Dich kenne, Jens, brauchst Du weniger als 10ms, um den Trick zu durchschauen..
@Lucki: Ja klar, Deko-Element drüberlegen, was meinst du, was ich momentan mache
Übrigens, dein Deko-Element deckt ja jetzt die gesamte Plotlegende ab, das kannst du auch per PropertyNode erreichen, schau mal unter der Plot-Legend nach, da gibt es ein "Disable".
Wo ich aber hin will, ist, dass man nur die Plot-Namen zur Laufzeit nicht editieren kann. Das Menü zur Farbveränderung des Graphen darf gerne zugänglich bleiben.
Aber das geht momentan nicht, da NI die Kontextmenüs auf Plot-Legende, Skalenlegende, Cursorlegende etc. komplett nur noch auf das absolute Minimum einschränkt und dabei Nützliches aus den Kontextmenüs, aus denen diese Elemente aufgebaut sind (sind ja Arrays, Cluster, Tree-Controls, und Ebenen darunter dann Strings, Buttons, etc.), nicht zugänglich ist .
MfG, Jens
EDIT: Hier ein Bsp für LV8.0, was auch so in LV8.5 läuft, das man aber so nicht mehr in LV8.5 erstellen kann, da das Kontextmenü so eingeschränkt ist. Bis LV8.2 kann man, wenn man an der richtigen Stelle klickt, eine Referenz auf das Array der Skalenlegende erstellen. In LV < 8.0 ging das auch mit der Cursor-Legende, allerdings war die da noch kein Tree-Control.