この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
広告
posted by fanblog
2019年01月11日
Visual Studio 2017 Communityで、書籍「Visual C++?@はじめてのWindowsプログラミング」のサンプルプログラムの動作を確認する 第5章
本来は一番最初に言及するべき事項なのですが、文字コードについて記しておきます。(実は、今日知りましたので、、、)
ソリューションを作成するとそのソリューションのプロパティが作成されます。確認するには、メニューバーの「デバッグ(D)」をクリックしし、ドロップダウンメニューの一番下「〇〇〇のプロパティ...」をクリックします。すると下図のダイアログボックスが表示されます。
この中に「文字セット」という項目があります。そこを「マルチバイト文字セットを使用する」にする必要があります。
それではサンプルプログラムの動作確認についてです。
第5章は、サンプルが2つあります。1つめはMousMovサンプルです。これはサンプルそのままで動作しました。
2つめはマウスのLボタンのダブルクリックのサンプルMousMsgです。これはそのままでは動作しませんでした。動作しなかった原因は、68行目のTCHAR型のポインターの取り扱いでした。
まず、無修正のサンプルそのままをビルドすると、下記のエラー表示になりました。
そこで、68行目をコメントアウトし、67行目のようにするとOKとなりました。
私も初心者なので詳細はわかりませんが、現在はTCHAR型ポインターを文字列で初期化することはできないようです。昔(VisualC++Ver6.0が最新版だった頃)はできたのかもしれません。とにかく今は、配列を文字列で初期化してくださいということらしいです。
ソリューションを作成するとそのソリューションのプロパティが作成されます。確認するには、メニューバーの「デバッグ(D)」をクリックしし、ドロップダウンメニューの一番下「〇〇〇のプロパティ...」をクリックします。すると下図のダイアログボックスが表示されます。
この中に「文字セット」という項目があります。そこを「マルチバイト文字セットを使用する」にする必要があります。
それではサンプルプログラムの動作確認についてです。
第5章は、サンプルが2つあります。1つめはMousMovサンプルです。これはサンプルそのままで動作しました。
2つめはマウスのLボタンのダブルクリックのサンプルMousMsgです。これはそのままでは動作しませんでした。動作しなかった原因は、68行目のTCHAR型のポインターの取り扱いでした。
まず、無修正のサンプルそのままをビルドすると、下記のエラー表示になりました。
そこで、68行目をコメントアウトし、67行目のようにするとOKとなりました。
私も初心者なので詳細はわかりませんが、現在はTCHAR型ポインターを文字列で初期化することはできないようです。昔(VisualC++Ver6.0が最新版だった頃)はできたのかもしれません。とにかく今は、配列を文字列で初期化してくださいということらしいです。