[cbuilder:40067] BCB6でユニコード表示

52 views
Skip to first unread message

imai asato

unread,
Apr 24, 2009, 2:59:00 AM4/24/09
to cbui...@sfdata.ne.jp
今井と申します。

 カスタムコントロール上に様々なコードが混在する文字列を表示
しようとしていて、日本語や中国語はSHIFTJIS_CHARSETや
GB2312_CHARSETをその都度Canvas->Font->Charsetに指定してから
Canvas->TextOutを呼ぶ方法で描画できているのですが、同様な方法
でユニコード(UCS2やUTF8)を表示することは可能で
しょうか?

 それともこういうことは最新のBCB 2009に移行しないと無
理でしょうか?


--
今井あさと <imai....@dicwizard.jp>


Takeshi Kodama

unread,
Apr 24, 2009, 9:36:37 PM4/24/09
to cbui...@sfdata.ne.jp
キャンバスへの描画ならAPIユニコード版を使えばいいと思います。
CB2007/Vistaですが、以下でOKでした。

//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
wchar_t a[]={0x4F60,0x597D,0xC548,0xB155,0xD558,0xC138,0xC694,0x3053
,0x3093,0x306B,0x3061,0x306F,0x0000};
::TextOutW(Canvas->Handle,10,70,a,sizeof(a)/sizeof(a[0])-1);
}
//---------------------------------------------------------------------------

imai asato

unread,
Apr 24, 2009, 10:45:32 PM4/24/09
to cbui...@sfdata.ne.jp
ありがとうございました。BCB6/XPの環境でも無事に表示でき
ました。

--
今井あさと <imai....@dicwizard.jp>

On 2009/04/25, at 10:36, Takeshi Kodama wrote:

> キャンバスへの描画ならAPIユニコード版を使えばいいと思

Reply all
Reply to author
Forward
0 new messages