Problem z właściwością Caption obiektu typu TLabel jest taki, że to właściwość typu AnsiString, a ten typ nie obsługuje Unicode, musiała by być typu WideString, żeby obsługiwać Unicode, dlatego nietypowych znaków nie wstawisz do TLabel.
Problem z właściwością Caption obiektu typu TLabel jest taki, że to właściwość typu AnsiString, a ten typ nie obsługuje Unicode, musiała by być typu WideString, żeby obsługiwać Unicode, dlatego nietypowych znaków nie wstawisz do TLabel.





RichEdit1->SelAttributes->Name = "Symbol";




Michal-S2 napisał(a): chodzi mi o to żeby to wyglądało jak TLabel.
#include <stdio.h>
//...
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Canvas->Font->Name = "Arial"; // dla "MS Sans Serif" nie działa
Canvas->Font->Size = 12;
}
//---------------------------------------------------------------------------
void WyswietlOpor( HDC hdc, int poz_x, int poz_y, int opor)
{
wchar_t bufor[256];
int dl = swprintf(bufor, L"Opór: %d %c", opor, 0x03a9);
TextOutW(hdc, poz_x, poz_y, bufor, dl);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
WyswietlOpor(Canvas->Handle, 10, 10, 90);
}
//---------------------------------------------------------------------------

Michal-S2 napisał(a):Rozumiem. Ale czy mogę zrobić to z poziomu kodu? Np. mam pusty Edit i wstawię do niego z poziomu kodu "Opór: 20 Ω".

Michal-S2 napisał(a):Michal-S2 napisał(a):Rozumiem. Ale czy mogę zrobić to z poziomu kodu? Np. mam pusty Edit i wstawię do niego z poziomu kodu "Opór: 20 Ω".
Przepraszam, pomyliłem się chciałem napisać RichEdit, a nie Edit.
// ...
#include <memory>
// ...
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char opor20[] = "{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1045{\\fonttbl"
"{\\f0\\fswiss\\fprq2\\fcharset238{\\*\\fname Arial;}Arial CE;}}\n"
"\\viewkind4\\uc1\\pard\\f0\\fs20 Op\\'f3r: 20 \\u937?\n\\par }";
std::auto_ptr<TMemoryStream> s(new TMemoryStream());
s->Write(opor20, strlen(opor20));
s->Position = 0;
RichEdit1->Lines->LoadFromStream(s.get());
}
//---------------------------------------------------------------------------

?char opor20[] = "{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1045{\\fonttbl"
"{\\f0\\fswiss\\fprq2\\fcharset238{\\*\\fname Arial;}Arial CE;}}\n"
"\\viewkind4\\uc1\\pard\\f0\\fs20 Op\\'f3r: 20 \\u937?\n\\par }";


Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości