Text auf GUI in jedem gewünschten Winkel

  • Hi,
    nachdem ich Dank kräftiger Unterstützung von progandy ( :thumbup: ) das Bsp. aus dem Api-Guide zum "RotateText" umsetzen konnte, habe ich daraus mal eine Funktion erstellt, damit es auch allgemeingültig verwendet werden kann. Ich denke, das könnte von größerem Interesse sein.
    Im angehängten Bsp. findet ihr eine Oberfläche, in der ihr die verschiedenen Parameter der Funktion ausprobieren könnt. Eine Möglichkeit, den geschriebenen Text zu löschen, habe ich noch nicht gefunden (außer mit Leerzeichen überschreiben ;) ). Vielleicht habt ihr ja eine Idee.
    Danke funkey für den Tipp zum Löschen.


    Edit: Habe auf Anregung von funkey noch den Parameter zum Neuzeichnen (und somit Löschen alter Beschriftung) der GUI mit Standardwert TRUE eingefügt.


    Edit: Nun noch Parameter für Schriftfarbe/Hintergrundfarbe eingefügt. Jetzt sollte es aber wirklich kpl. sein. ;-)



    Edit: Hier mal eine Ansicht
    http://www.bilder-space.de/sho…=13.12vKBH19cXqB3AiTr.JPG

  • Gefällt mir sehr gut!!
    Mit Checkboxen kannst du verschiedene Stile kombinieren.




    Edit: Text löschen eventuell mit _WinAPI_RedrawWindow ??


    Edit2: Wenn man ein '&' eingibt wird es nicht dargestellt. Erst '&&' stellt ein '&' dar. 3x& ergibt '&', 4x& ergibt dann '&&'

  • Wenn man ein '&' eingibt wird es nicht dargestellt. Erst '&&' stellt ein '&' dar. 3x& ergibt '&', 4x& ergibt dann '&&'


    Habe ich jetzt korrigiert - wird als normales Schriftzeichen dargestellt.


    Danke für den Tipp mit dem Löschen. Habe das Bsp. umgestellt - aber Kombination 'normale' Schrift od. Italic + unter/durchgestrichen.
    (s. 1. Post)

  • Letzte Meldung von mir heute: :D


    Du könntest noch eine Redraw-Parameter hinzufügen, damit wenn man den Text aktualisiert und der neue Text einen anderen Winkel hat oder kürzer ist als der andere, der alte auch vorher gelöscht wird. Tipp: Gib 'Hallo Freund' ein und danach nur 'Hallo'. Man merkt keinen Unterschied ;)

  • Hallo Zusammen,


    habe die _WriteRotateText Funktion in Benutzung!
    Funktioniert soweit ganz gut, nun habe ich aber eine Frage!


    Wie kann ich 2 verschiedene texte schreiben, wobei sich einer der texte laufzeitabhänging ändern soll!


    hab es mal so gemacht, ist aber nicht gerade gut gelöst, weil man immer beide texte angeben muss!



    hab mir gerade überlegt, den text1 in eine funktion zu packen und diese dann aufrufen, das hätte den vorteil, dass man den text bei einer änderung nur einmal anpassen muss!
    hat einer noch ne idee?


    Gruß gmmg ;)

  • ich verstehe nicht warum das nicht funktioniert:


    #include <_WriteRotateText.au3>
    $gui = GUICreate("TEST")
    _WriteRotateText($GUI, "Hallo Welt", 50,50,30,60)
    GUISetState()
    While 1
    WEnd


    ich hab in der udf folgende zeilen eingefügt:


    #include-once
    #Include <WinAPI.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>