メッセージ

2006年01月14日の記事

2006/01/14(Sat)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

2006/01/14(Sat)BMP画像の縦幅横幅を得る

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

bufferにpicloadしてginfo_winx,yみりゃいいんだけど。。
それはなかなかスマートではない。
そう思ったとしても方法が分からないとあれこれさがしてしまって辛いんだな。

ファイルから直接読む方法を置いておく。
普通のWINDOWSなビットマップなら、要素数2の配列変数に
bload fn,bmpsz,8,18
すれば、.0,.1に勝手にx,yが入ってる。

今時存在すらしなそうなOS/2形式のビットマップも読み込む可能性があるなら、
さらにその4バイト手前を読んで、12か40かで判断すればヨイ。

以下サンプルコード。

続きを読む