INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)



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!

04.02.2011, 12:09
Beitrag #1

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Hallo, ich verzweifle gerade (mal wieder) an LabVIEW:

Ich möchte im Text ('Boolscher Text' - BoolText.Text) eines Buttons mehrere unterschiedliche Fonts sowie Textgrößen haben - in der Designphase bekomme ich dies mit einem Trick hin: Stelle ich die Fonteigenschaften über die Combobox in der Werkzeugleiste ein, ändern sich stets die Eigenschaften für den gesamten Text, nicht nur für den markierten Teil - kopiere ich allerdings ein schon vorher parametriertes Textstück aus einem anderem Control und füge es an der gewünschten Stelle ein, behält es selbst, sowie auch der restliche Text in Ziel-Control, seine Eigenschaften.

Anfänglich reichte das so aus, die Softkeys auf der rechten Seite des Frontpanels sollen nun aber während der Laufzeit ihre Funktionalität wechseln, damit dann eben auch die Beschriftung!
Beschreibe ich 'BoolText.Text' besitzt im Anschluss der gesamte Text die gleichen Attribute, nun wähnte ich per programmatischem Auswählen der jeweiligen Textpassage einzeln ihre Attribute ändern zu können - das funktioniert mit anderen Controls auch zumeist - doch nicht beim 'BoolText.Text' meiner Buttons: Der gesamte Text nimmt, trotz explizit ausgewähltem Textbereich, die gemachten Einstellungen an.

Sollte es gar nicht möglich sein dies umzusetzen, muss ich wohl eine durchsichtige Textbox mit unsichtbarem Rahmen über jeden der zwölf Buttons positionieren, wobei das natürlich auch bzgl. des betätigen des Buttons sehr viel ärger macht, ich dann wohl noch die Mouse-Events dieser Textboxen auswerten muss, ... das wird alles sehr unschön und unsauber - also hoffe ich, dass sich dem eigentlichen Problem irgendwie beikommen lässt?!

   
   

Sonstige .vi  TestButtons.vi (Größe: 24,08 KB / Downloads: 244)
Lv10
Der 'PC Keys'-Font:
Sonstige .zip  PCKEYS_Font.zip (Größe: 25,21 KB / Downloads: 228)


Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.02.2011, 14:02
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)

Akzeptierte Lösung

Bleibt die "F-Taste" immer und du änderst nur den Text darunter?

Wenn ja, könntest du dir 12 Buttons erstellen und per Anpassen ein Bild der F-Taste auf den Button kleben. Dann hast du nur die Textzeile darunter die sich ändert. Somit auch nur eine Schriftart in deinem Button.

Beispiele mit Buttons gibts z.B. hier: lavag.org


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.02.2011, 14:53
Beitrag #3

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
RE: Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Hallo SeBa,

daran habe ich gar nicht gedacht - ist eine gute Idee, vielen Dank! Die F-Tasten-Symbole bleiben für jeden Button stets gleich. Leicht störend ist, dass mir wohl wirklich nichts anderes übrig bleibt als für jeden einzelnen der 12 Buttons ein eigenes Control mir jeweils passendem Bild zu erzeugen, aber naja, besser als alles andere ist das immer noch!
Den eigentlich Text kann ich dann ja auch entsprechend nach unten verrücken, dass ich ohne die Justage per Leerzeilen mit kleinerem Font auskomme - würde/wird funktionieren!

Danke für Deine Hilfe! Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2011, 10:29
Beitrag #4

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
RE: Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Hallo - hier noch ein Nachtrag zur tatsächlichen Umsetzung:

Nach SeBas Beitrag dachte ich mir, ich könne die F-Tasten-Symbole vom Bildschirm abfotographieren und im jeweiligen, neu angelegem, Control als Decal über den eigentlichen Button legen - das war allerdings problematisch, das Decal bräuchte einen transparenten Hintergrund um die wechselnden Farben des aktivierten/deaktivierten nicht zu überlagern.
Noch problematischer war allerdings, dass der Button an der Stelle des Decals nicht mehr anklickbar war! Das war völlig inakzeptabel, also ging ich einen anderen Weg:
Ich fotographierte nun die Buttons komplett ab, jeweils aktiviert un deaktiviert, schnitt die Bilder auf die richtige Größe zu und nutzte sie als direkte true/false-Ansichten des Controls. Den eigentlich Text positionierte ich ein wenig um und erreichte so das von mir ursprünglich angestrebte Ergebnis!

Somit nochmals Danke für den Tipp - Beste Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.02.2011, 10:45 (Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2011 10:46 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Hallo Sascha,

Zitat:das Decal bräuchte einen transparenten Hintergrund
Die benötigten Zeichen dieses Fonts in Word schreiben (auf weißem Hintergrund), in ein normales Bildbearbeitungsprogramm laden, zurechtschneiden und als PNG mit transparentem Hintergrund speichern...

Zitat:Button an der Stelle des Decals nicht mehr anklickbar
Wenn ich einen Button mit einem Decal verschönere, ist der auch dort anklickbar... (Gerade nochmal geprüft: man kann auch auf dem Decal klicken!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2011, 10:57
Beitrag #6

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
RE: Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Hallo Gerd - danke für Deinen Nachtrag - das wird jetzt doch noch wichtig und ich habe einige Fragen dazu - es funktioniert bei mir 'anders' - mache ich etwas falsch/anders?!
Inzwischen läuft das VI/Programm auf dem Zielsystem und ich habe es erstmals auf den dort, im Gerät verbauten TFT-Bildschirm gesehen. Da die Darstellung nicht optimal war, habe ich das Design nochmals überarbeitet. Die Situation ist nun folgende:
Es läuft ein Windows XP und ich verwende nun systemweit den standard 'Windows XP-Stil', deshalb bin ich in LabVIEW auch auf die System-Controls, statt den vorher verwandten Modern-Controls, umgestiegen und baue auch die Softbuttons (die Buttonleiste rechts - mit den F-Tastensymbolen) um. Da die XP-Buttons einige nette Darstellungen haben (Markierungsumrandungen, ...) wöllte ich nun nicht die kompletten Grafiken austauschen, wie ich es im alten Design mit den Modern-Buttons machte, sondern, wie von GerdW beschrieben, Decals (überlagernde Grafiken, eben die F-Tasten-Symbole) verwenden.

An den Stellen an denen die Grafik über dem Button liegt, ist der Button nun wieder nicht anklickbar, also anders als bei GerdW ist!

Eine transparente Farbe konnte ich nun erfolgreich erstellen: Ich habe in meinem Bildbearbeitungsprogramm (PhotoImpact 6) das vom Bildschirm abfotographierte Tastensymbol, auf weißem Hintergrund, als PNG gespeichert und in den PNG-Optionen weiß als transparente Farbe gewählt. Einen Antialaising-Effekt gibt es so leider nicht (ist das denn irgendwie möglich?), aber da die Buttonfarbe auch nahezu weiß ist, passt das dennoch und fällt nicht auf.
Wenn in das Bild nun aus dem Bildbearbeitungsprogramm heraus kopiere und in mein Control einfüge, ist es allerdings nicht transparent! Ich muss die PNG-Bilddatei per Drag&Drop aus dem Explorer in mein Control-VI ziehen, dann wird es transparent dargestellt - der Button ist an dieser Stelle allerdings _nicht_ klickbar, was nun auch mein Problem darstellt!

Soeben bemerkte ich noch ein neues Problem: Das auf dem Button dargestellte Text bewegt sich bei diesem Control beim klicken - im angeklickten Zustand befindet er sich (-1, -1) Pixel entfernt von seiner Ausgangsposition!
Kann man Decals/statische Texte so mit zum Teil des Buttons machen, dass sie, wie die Beschriftung auch, sich mitbewegen?

Ich werde gleich nochmal ein Demonstrations-VI bauen und hier posten...
Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.03.2011, 21:18
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Ich glaube, du machst das mit dem Decal noch nicht richtig...

Guck mal hier:
http://blog.eyesonvis.com/2010/05/03/how...w-buttons/
oder dann hier:
http://www.youtube.com/watch?v=2NdqXh67mak

Gruß, 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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.03.2011, 09:38 (Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2011 14:01 von Sascha_.)
Beitrag #8

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
RE: Mehrere Textstile in einem BoolText eines Buttons (programmatisch!)
Hallo Jens, vielen Dank für den Tipp - das hat den Knoten gelöst, ich habe nahezu alles falsch gemacht, was man falsch machen kann - ...das kommt davon, wenn man sich immer nur alles selbst beibringt.

Nochmal zusammengefasst:
- Bilder stets über den Menüpunkt 'Bearbeiten -> Bild in Zwischenablage einfügen...' in LabVIEW laden.
- Die so geladenen Bilder/Decals für Buttons nicht einfach per 'Crtl-C' in das Control einfügen, sondern über den Kontextmenüpunkt 'Bild aus Zwischenablage einfügen -> Decal', so sind sie dann auch klickbar.
- PNGs unterstützen natürlich auch Alpha-Blending, nicht nur einfach einen transparenten Hintergrund (ist ja auch in den NI Demo-VIs zu sehen... Dieser Wetterstation z.B.), ich konnte das nun so umsetzen (wie schon erwähnt arbeite ich mit PhotoImpact 6 (habe keine MS-Office Produkte zur Verfügung):
Zuerst ist ein PNG mit transparentem Hintergrund in der gewünschten Größe zu erstellen, das funktioniert bei PI6 nur über's Speichern, dh. Bild als so konfiguriertes PNG speichern und erneut öffnen - schon hat man es auch im Editor transparent.
Anstatt, wie zuvor, abfotographierte Bilder des Fonts zu verwenden (ein Schritt zu weit gegangen...) ist es wesentlich vorteilhafter die Zeichen direkt als Schrift in das Bild einzufügen - mit entsprechendem Anti-Alaising, was durch den transparenten Hintergrund direkt in einem, schönen, weichen Alpha-Blending resultiert. Nun nur noch abspeichern und das wars - die Objektinformationen gehen im PNG-Format natürlich verloren, d.h. der Text ist danach nicht wieder als solcher editierbar sondern wird zu einem Bildobjekt, es ist - sofern eine weitere Bearbeitung evtl. nötig ist (was man ja nie komplett ausschließen kann...) - also nicht verkehrt das so entstandene Bild, noch mit dem Textobjekt, in einem nativen Format des Programms (bei PhotoImpact ist es UFO) zu speichern.

Einziges 'Problem' was fortbesteht ist, dass sich das Decal auf dem Button nicht bei aktiviertem Button - so wie der Text - ein Pixel nach schräg-unten bewegt, das Decal bleibt einfach stehen. Das ist nun allerdings ein sehr geringes Problem... Damit kann man (sogar ich... hr) ganz gut leben.

Ich danke allen hier für Ihre Unterstützung!
Beste Grüße
Sascha

P.S.: Nun nochmal ein Bild von der fertigen Softbutton-Bar unter Windows XP mit aktiviertem Standard-XP-Style und den mit Decals versehenen System-Controls.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Excel: programmatisch Ansicht / Normal -> Seitenlayout anpassen spacz 2 4.499 10.02.2020 09:44
Letzter Beitrag: spacz
  Mehrere kleine Fenster in einem großen Fenster als Fensterfunktionen nutzen PTH 2 4.344 01.02.2018 11:16
Letzter Beitrag: PTH
  Cluster programmatisch als .ctl abspeichern? dulfried 5 5.301 12.10.2017 14:22
Letzter Beitrag: jg
  Auswahlmodus - programmatisch ganze Zeile markieren JATler 7 6.539 11.07.2017 07:58
Letzter Beitrag: GerdW
  Plotlegende programmatisch erstellen um Ereignisse zu erfassen mez15 10 7.572 01.03.2017 16:48
Letzter Beitrag: GerdW
  Control-Referenz programmatisch erstellen? spacz 2 4.135 23.01.2017 11:31
Letzter Beitrag: spacz

Gehe zu: