Eurozeichen (€) in System::String kopieren



  • Du solltest beachten, dass die normale Windows-Console (fast) nur ANSI Zeichen darstellen kann!!!
    Wenn Du Unicode darstellen willst, dann musst Du einen anderen Font nehmen (z.B. Lucida Console); der kann dann die meisten Unicode-Zeichen darstellen...



  • hi,
    ok wenn ich aber per gd zeichne und als Font "Arial" verwende dann sollte es darstellbar sein.
    Denn wenn ich die Zeichen aus der Windows Zeichentabelle in Word mit Schriftart "arial" reinkopiere werden diese dargestellt.
    Komischerweise klappen die "Alt + 2103" commands nicht (wahrscheinlich nur für ASCII).
    Ich habe leider keine Ahnung wie ich diese Unicodezeichen per GDI+ Lib
    Zeichnen kann.
    Muss doch irgendwie machbar sein.



  • user1 schrieb:

    Ich habe leider keine Ahnung wie ich diese Unicodezeichen per GDI+ Lib Zeichnen kann.

    Warum willst Du es denn Zeichnen? Nimm doch einfach eine "Label" und schreib den Text dort rein...
    Zeichnen kannst Du aber in dem Paint-Ereignis eines Controls mittels e->Graphics->DrawString(...)



  • Jochen Kalmbach schrieb:

    Warum willst Du es denn Zeichnen? Nimm doch einfach eine "Label" und schreib den Text dort rein...

    Hi,
    war wohl etwas zuviel Information 😉
    Wie ich zeichnen kann ist klar, endergebnis wird gezeichnet (eigenes Control) Ownerdraw, aber du würdest mir schon unglaublich helfen wenn du mir sagst wie ich das ganze als labelcaption hinbekomme, wie ich zeichne sollte dann analog dazu funktionieren, DrawString und Text sind beides System::String sollte also nicht die hürde sein.
    Vielen Dank schonmal!
    (Hab gesehen das du ein MVP bist, ziemlich cool!!!)



  • user1 schrieb:

    wie ich das ganze als labelcaption hinbekomme

    Verstehe ich nicht ganz... meinst Du

    label1->Text = "\u20AC\u00B0C";
    

    Für °C empfehle ich Dir das decomposed character:
    "\u00B0C"

    PS: Hast Du VS2003 oder 2005?



  • Hi Jochen,
    mit \u00b0C funktionierts!!
    VS2003
    Vielen Dank!



  • Hi Jochen,
    kannst du mir vielleicht bitte nochmal helfen, ich bekomme kein OHM Zeichen hin.
    Habe getestet:
    "\u03A9"
    "\u2126"

    dargestellt wird ein "&" oder "©"

    Vielen Dank!



  • Das String-Literal ist einfach falsch...
    Unicode-Zeichen sollte man nicht als String-Literal angeben, sondern dies explizit hinzufügen, oder aus einer Resource holen:
    String ^str = "\u20AC\u00B0C";
    Char c = 0x03A9;
    label1->Text = str + c;



  • Habs jetzt folgendermaßen gemacht (danke!).

    #define SIGN_OHM 0x03A9;
    
    Char c=SIGN_OHM;
    retval=Convert::ToString((Char)c);
    

    Was meinste mit Ressource? Aus der Stringtable ala VC6?



  • user1 schrieb:

    Was meinste mit Ressource? Aus der Stringtable ala VC6?

    So ähnlich...
    "Project|Add...|New Item...|Resource|Assembly Resource File (.resx)"
    Dann kannst Du da beliebige Resourcen eintragen (String, Images, sonstiges) und über den "ResourceManager" dann darauf zugreifen. Wird hauptsächlich für Lokalisierung verwendet.


Anmelden zum Antworten