Witam
Chce aby w moim programie była możliwośc wypisania znaku unicode nad przyciskiem ponieważ standardowe komponenty TButton nie umożliwiają wprowadzania znaków unicode. Instalowanie gotowych komponentów odpada w mojej wersji Delphi personal 2005 ponieważ nie ma w Component-> Install Component. Najlepszym rozwiązaniem było by napisanie w moim projekcie własnej klasy np TUnicodeButton = class(TButton) i dynamiczne utworzenie przycisku w programie oraz ustawieniem Caption(unicode) ale jakoś mi to nie wychodziło tak jak chciałem poza tym potrzebuje wyświetlić tylko 1 znak. Do tego doszedłem:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var c: pwidechar;
begin
Canvas.Font.Color:=clRed;
Canvas.Font.Height:=24;
c:=#0923;
//Canvas.TextOut(ClientHeight div 4, ClientWidth div 4, 'NAPIS');
//ExtTextOutW(Canvas.Handle, 1, 1, 0, @Rect, c, 1, nil);
TextOutW(Canvas.Handle, 1, 1, c, 1);
TextOutW(Canvas.Handle, 100, 100, c, 1);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//
end;
end.
po kliknięciu na przycisk ma wyświetlić znak nad przyciskiem ale niestety wyświetla pod jak widać tutaj:
nie wiem za bardzo dlaczego tak jest może trzeba coś zmienić przy samym wywołaniu tekstu żeby wyświetlał nad wszytkimi komponentami lub jakaś właściwość w TForm lub TButton. Szukałem caly dzień po internecie i nie znalazłem nic co by ten problem rozwiązało.
z góry thx