Delphi6パーソナル使用です。
現在HTMLエディタを作っています。
HTMLで&#9760ฺを半角で書くと、
ドクロの絵になりますが、このドクロの絵をLISTBOXのitemとして
表示させたいのですが方法がわかりません。
よろしくお願いします。
たしか、記号フォント(MonoSpaceとか)じゃないでしたっけ?それって。
だったら、リストボックスでは、オーナードローしてその項目だけ、
そのフォントで描画するといいと思いますけど。
(さすがに他も全部記号フォントにするわけにはいかないでしょう^^;)
> たしか、記号フォント(MonoSpaceとか)
MonoSpaceなんてフォント存在しませんね、何言ってるんでしょ(^^ゞ
うちにあるフォントでは、
Monospace Sorts,MS Outlook,Symbol,Webdings,WingDings,fsイラスト94 です。
標準でプログラム>アクセサリ>システムツール にある"文字コード表"や、
IMEパッドを活用して、調べてみてください。
(たしか、WebdingsとWingDingsには、記号がたくさん入ってたと思います)
すみません。
描画する部分が分からないので、
そこだけ教えていただけると助かるんですが。。。。
ListBoxのItemに、&#9760ฺ(半角)が
入ってる状態で、これを元に描画する方法をお願いします。
うちではMS ゴシックでも出ますね。
OSによるかもしれませんが、Unicodeの文字コード表が確認できるならば、
2620
を見てください。
# win2000/xpならば見れるはず
☠ฺと指定していますが、このSkull And Crossbonesの文字コードは2620です。
これを10進数に変換すると、9760となります。
これだけでだとなぜか文字化けします。
後ろに適当な文字コードがあれば文字化けしません。文字化けする文字コードもたくさんあります。
# これも不思議なことですが・・・
たとえば、こんな感じにできます。
var
str: array[0..2] of WideChar;
begin
str[0] := WideChar(9760);
str[1] := WideChar(3642);
str[2] := #$0;
TextOutW(Image1.Canvas.Handle, 0, 0, str, 2);
end;
たぶん、ListBoxに入れたときも、オーナードローでこのようにやらねばならないでしょう。
分かりました。ありがとうございます。
度々すみません。
よろしければもう一つお願いします。
数値参照でなく、文字参照でitemが入っているものを
描画させたいのですが、この場合はどのようにすればいいのでしょうか?
例えば、ハートの絵で、itemが♥(半角)
となっている場合で、お願いします。
全てコード形式に置き換えられるので、例えば、
♥
であれば、
♥
というように、変換した上で描画すればよいかと思います。
その変換する方法が分からないのですが、
何か変換する関数があるのでしょうか?
> 何か変換する関数があるのでしょうか?
たしかインターネット関係の情報ページに、
そういう一覧表があったと思いますけど…。
&heart; で検索するとか?
そういう一覧表は分かりますが、
’♥’:= 変換する関数(’♥’);
こういうのが出来るのかなと思った訳ですが、
無理そうなので自作しますまたは諦めます。
ありがとうございました。
ツイート | ![]() |