MFC と WIN_VER


うーん。MFC には相当の裏がありそうだなぁ・・。 ・・。ども Mimura です。

STEP_M のフォントサイズ問題で悩んでいたのですが、
ソースコードは一緒なのに、なんでコンパイルした結果が違うのさ。と。

MFCは奥が深いです。Microsoft のパンドラの箱。のような気もしないでもないですが、
どうなんでしょうか。
少なくとも、SDKプログラミングばっかりやってた自分には、ちょっと謎です。

Vista の動作結果ではほぼ変わらないのですが、
XPで動かすとすばらしく変わります。なんで。と思うほど。

(同じソースコードですが、頭に WIN_VER 指定をかけてあります。)

 

現在公開中のもの (WIN_VER = 0x600 (Windows Vista))

image

XP 宣言したもの(WIN_VER = 0x501 (Windows XP or 2003))

image

なんでこー。ツールチップのサイズがここまで変わってくるのさー!!

・・そんなわけで、最初の修正の時にはツールチップのフォント取得部分がおかしいんだろう。
と思って、フォント設定をシステムフォントから取得するようにしましたが、

まさか、本当の答えは WIN_VER だったとは。
・・。挙動が変わられても困ります。本当に。

MFC怖いなぁ。と思った今日この頃です。

(Microsoft さん。教えてもらえるとありがたいです。このあたりについて・・。
あ。あれですか。 .NET つかえ! っていうことですか。多分そうですか。)


 

関連記事