VC2005でビジュアルスタイル
VisualC++2005でMFCを使っているといろいろとVC6と違うことがわかる。
一番とまどったのはCStringがMSDNでMFCクラスに出てこないこと!ちゃんとあるけど。位置づけが変わっているんですね。C#も触っているけど .NetFramework2インストールが必須という点がクリアできればC#の方が文字列の扱いが柔軟で使いやすい。C++の時代はフロントエンドアプリとしては終わったのかもしれない。
もう1つとまどったのはビジュアルスタイル(XPのLunaスタイル)がVC++で作成したときに適用されないことがあること。
原因はプロジェクトのプロパティ内の「文字セット」。
デフォルトはUNICODEだけども、これを互換性重視で「設定なし」「マルチバイト~」にしてしまうとビジュアルスタイルが適用されなくなってしまう。
これを回避するには自分でマニフェストを作成してリソースリンクするか「stdafx.h」ファイルを書き換えるかする。個人的にはstdafx.hの書き換えをおすすめします。
方法は簡単、stdafx.hにUNICODE判定コード(#if~#endif)があるのでこれをコメントアウトします。
何でこんなことになっているのかはMSに聞かないとわからないですが、おそらく「VSのプログラム=UNICODE対応アプリ」ということにしたいのかな?
| 固定リンク | コメント (0) | トラックバック (0)

最近のコメント