2006/01/14(土)RichEdit 2.0 フォント変更が効かない!

はてブ数 2006/01/14 11:05 プログラミング::HSP3つーさ

Richedit2.0で初期フォントをMS ゴシックにしたいんですが、できませんです
要するにwinobjで作った後、EM_SETCHARFORMATで設定してるんです
フォントが変えれなくて、ルーラーが作れない状況です_| ̄|○ ガックシ・・・
どうしても初期日本語フォントがMS Pゴシックになってしまいます。

自分で開発してたわけではないのだけれど、HELPを求められたので調べてみた。
RichEdit2.0以降では欧文入力時と和文入力時で自動的にフォントが切り替えてくれるらしい。
EM_SETCHARFORMATで日本語入力時のフォントのみ変更される、みたいな格好になっているようだ。
どーするかっつったら、それを無効にしてやりゃいいらしい。

#define EM_SETLANGOPTIONS	$00000478
#define EM_GETLANGOPTIONS	$00000479
#define IMF_DUALFONT	$00000080
sendmsg hEdit, EM_GETLANGOPTIONS, 0, 0
sendmsg hEdit, EM_SETLANGOPTIONS, 0, -1 ^ IMF_DUALFONT & stat

参考:
CRichEditCtrlでCHARFORMATが効かない
http://www.jsdlab.co.jp/~kei/develop_dairy/20010428/richeditctrl.html
[00007721](SET)] RichEditのデフォルトフォント
http://forums.belution.com/ja/vc/000/077/21s.shtml