![]() |
Wie kann ich Unicodezeichen "schreiben"
Wie kann ich das Unicodezeichen 25BC bzw 25B2 zeichnen?
|
Re: Wie kann ich Unicodezeichen "schreiben"
Wie meinst du das?
Delphi-Quellcode:
car s: WideString;
s := WideChar($25BC) + WideChar($25B2); DrawTextW(...); |
Re: Wie kann ich Unicodezeichen "schreiben"
Eigentlich wollte ich auf einen Button einen "Pfeil nach oben" schreiben. Denn habe ich auch gefunden (Font := Arial). Und das sind diese beiden Unicode zeichen... Und jetzt weiß ich nicht, wie ich einen String mit unicodezeichen erstelle.
|
Re: Wie kann ich Unicodezeichen "schreiben"
WideString
|
Re: Wie kann ich Unicodezeichen "schreiben"
So wie bei DGL-Luke?
Delphi-Quellcode:
var s: WideString;
{...} s := WideChar($25BC) + WideChar($25B2); Button1.Caption := s; |
Re: Wie kann ich Unicodezeichen "schreiben"
Die VCL ist Ansi ... mit Unicode ist da nichts zu machen!
Ich schreibe zwar in meinem DataRescue UnicodeStrings in VCL-Komponenten und lese den Inhalt auch als Unicode aus, allerdings geht das eigentlich garnicht, denn dafür müßtest du die VCL-Komponenten entsprechend manipulieren, so daß sie Unicodetaulich sind, aber es ist den Aufwand nicht wert ... nim dafür lieber entsprechende UnicodeKomponenten. |
Re: Wie kann ich Unicodezeichen "schreiben"
Das wird nicht gehen.
Problem ist, dass die normalen VCL-Controls kein Unicode unterstützen. Dafür bräuchtest du die TNT Controls. Allerdings würde es für deinen Zweck sogar ausreichen dir eine der Windows-Schriftarten mit Zeichen zu nehmen und dort einen Pfeil zu suchen. Die meisten Symbole, die in Windows verwendet werden (bspw. das X oder das Minimieren-Symbol) sind in Schriftarten gespeichert. Ich kann dir aber jetzt nicht aus dem Stehgreif den Namen sagen. Musst mal danach suchen. Chris |
Re: Wie kann ich Unicodezeichen "schreiben"
Wenn Button z.B. vom typ TTnTButton ist, ja.
|
Re: Wie kann ich Unicodezeichen "schreiben"
Nein es ist ein tXiButton ;)
Nagut... habt ihr vielleicht einen Tipp, wie ich trotzdem ein "hoch"/"runter" Pfeil zeichnen kann? |
Re: Wie kann ich Unicodezeichen "schreiben"
Ganz einfach. Nimm als Schriftart "Symbol" und schau dann in der Zeischentabelle nach welches zeischen das ist.
Folgendes Zeischen ist bei der Schriftart "Symbol" ein Pfeil nach unten: ß |
Re: Wie kann ich Unicodezeichen "schreiben"
Zitat:
Du kannst es ja mal versuchen.
Delphi-Quellcode:
Mit dieser Prozedur kannst du einen WideString an ein VCL-Control senden, welches von TControl abgeleitet ist, oder an ein TLabel und Nachfolger dessen.
Procedure SetText(Const E; S: WideString);
Begin If TObject(E) is TLabel Then Begin TLabel(E).Caption := S; Exit; End; SendMessageW(TWinControl(E).Handle, WM_SETTEXT, 0, LongInt(PWideChar(S))); End; Aber wie gesagt, du wirst bemerken, daß bei dir der angezeigt Text meißtens wieder einem in einen AnsiString umgewandelten Text entsprechen wird, da die meißten Komonenten intern die AnsiVersion sind. Du müßtest also das entsprechende Window als WideVersion klonen und diesen Klon für das AnsiOriginal einschleußen. |
Re: Wie kann ich Unicodezeichen "schreiben"
Hallo,
die Schriftart zur Darstellung der 'X' usw. ist Marlett: Zeichen Pfeil nach oben = 't' Zeichen Pfeil nach oben = 'u' |
Re: Wie kann ich Unicodezeichen "schreiben"
Zitat:
ansonsten sind ja fast alle kleinen (meist schwarzen/einfarbigen) Grafigen im alten Windows-Style aus Marlett, oder irgendwo anders her ^^ Zumindestens Marlett (Arial, Courier, New Courier, Small Fonts, Times New Roman, ...) kann man also "guten" Geissens verwenden, weil das einer der wenigen Fonts sein wird, welche sich mit sehr großer Sicherheit auf allen Windowsrechnern befindet und befinden wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz