![]() |
Alpha Zeichen auf Label machen
Hallo,
wie kann ich ein Alpha zeichen (ich meine den griech. Buchstaben, womit man Winkel kennzeichnet) als Caption eines Labels machen? LG Chris |
Re: Alpha Zeichen auf Label machen
du musst eine Schriftart finden welche das Zeichen unterstützt. Am besten schaust du da in der Zeischentabelle noch (Startmenü->Programme->Zubehör->Systemprogramme->Zeichentabelle)
|
Re: Alpha Zeichen auf Label machen
Hallo,
so schlau bin ich auch schon gewesen. hat abeer leider nichts gebracht. Ich kann das Alpha Zeichen in der Schrift Arial finden. Wenn ich versuche es zu kopieren, erscheint aber ein ? Was kann ich nun tun? Ich brauche dieses Zeichen dringend und kann auch leider nicht Alpha hinschreiben. LG Chris |
Re: Alpha Zeichen auf Label machen
Nimm Symbol. In Arial gibts das Alpha nur in Unicode, und da die VCL kein Unicode unterstützt, kannst du das vergessen.
|
Re: Alpha Zeichen auf Label machen
Zitat:
|
Re: Alpha Zeichen auf Label machen
Wenn das nicht etwas Overkill ist. ;)
|
Re: Alpha Zeichen auf Label machen
Nur für diesen Fall. Könnte sich aber langfristig lohnen. Oder er wartet bis nächstes jahr.
|
Re: Alpha Zeichen auf Label machen
hi,
ich habe das problem schon ein bisschen anders gelöst. ist bestimmt nicht die eleganteste variante, aber es funktioniert auch. Ich habe einfach einen Screenshot gemacht, dann habe ich mir das zeichen ausgeschnitten und dann als Image in mein Projekt hinzugefügt. PS: Trotzdem vielen dank für die zahlreichen antworten. Das mir einem Jahr waren überlege ich mir nochmal in ruhe :D LG Chris |
Re: Alpha Zeichen auf Label machen
Hi,
eventuell könntest mit TextOutW oder DrawTextW den Text selber zeichnen.
Delphi-Quellcode:
var
WText: PWideChar; begin GetMem(WText, 20); StringToWideChar(' = 3°',WText, 6); PWidechar(WText)^:= WideChar($03B1);//Alpha Zeichen canvas.Font.Name := 'Arial'; TextOutW(canvas.Handle, 10, 10, WText, 5); FreeMem(WText, 20); |
Re: Alpha Zeichen auf Label machen
@bitsetter: Welchen Sinn hat es das du 20 Byte speicher anforderst obwohl du nicht soviel nutzt. Und warum schreibst du ' = 3°' in den WideChar? Und warum castest du WText zu PWideChar wenn es doch schon von dem Typ ist? Das ist jetzt keine blose Kritik sondern sind ernst gemeinte Fragen da ich micht mit der Handhabung von Unicode nicht so recht auskenne und man ja nur dazu lernen kann wenn man auch versteht was man tippt.
[Edit] ok, das mit dem ' = 3°' versteh ich jetzt. Da wird das erste Zeichen (Leerzeichen) dann durch's Alphazeichen ersetzt. Anstelle der festen 5 bei TextOutW kann man auch mit Length arbeiten Nach meinem Verständnis wäre das ganze doch so am besten (zwecks einfacher Änderung des Textes ohne die Zahlen für die Länge gesondert anpassen zu müssen)
Delphi-Quellcode:
[/Edit]
var
WText : PWideChar; lStr : String; begin lStr := ' = 3°'; GetMem(WText, Length(lStr) * 2); StringToWideChar(lStr, WText, Length(lStr) + 1); PWidechar(WText)^:= WideChar($03B1);//Alpha Zeichen canvas.Font.Name := 'Arial'; TextOutW(canvas.Handle, 10, 10, WText, Length(WText)); FreeMem(WText); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 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