掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
RichEditに絵文字を表示させるには (ID:149512)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
「絵文字」の記事に掲載しいる以下のコードの説明です. http://mrxray.on.coocan.jp/Delphi/Others/Emoji.htm#list2 コードポイントの値を文字として表示するには,以下のコードで可能です. procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := #$1F6BA; end; しかし,これでは設計時にコードポイントを変更してストする必要があります. そこで,以下のように,コードポイントの値を string 型の変数に代入します. この変数を別の TEdit にセットしておけば,EXE 実行時に変更できて便利です. procedure TForm1.Button2Click(Sender: TObject); var LText : string; begin // この値を別の TEdit にセットしてけば,実行時に変更でき,テストに便利 Ltext := '$1F6BA'; Edit1.Text := CodePointToUTF16(StrToInt(LText)); end; 「絵文字」に掲載しているサンプルはこの方針で作成しています. 1 文字だけでなく,複数の文字を処理できるようにしています. そのため,TStringList というクラスを使用しています. TStringList は複数の文字列を格納できます. 格納した文字列を分離して $XXXX として取り出すために,# という文字を使用しています. (実際には別の文字でも構わない) 取り出した $XXXX は文字列ですから,それを数値にしてから,また文字にします. この数値は 32 ビット (4 バイト) です.Char 関数では文字にできません. Char 関数で文字にできるのは 16 ビット (2 バイト) の整数値です. 文字は,フォントによっては正常に表示できないことがあるので, フォント名のリストを作成して TComboBox で選択できるようにしています.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.