トップページ > プログラム > 2015年10月22日 > rWP1FQIU

書き込み順位&時間帯一覧

11 位/156 ID中時間01234567891011121314151617181920212223Total
書き込み数0000210000000200000000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Visual Studio 2015 Part3©2ch.net

書き込みレス一覧

Visual Studio 2015 Part3©2ch.net
220 :デフォルトの名無しさん[sage]:2015/10/22(木) 04:35:27.04 ID:rWP1FQIU
C++ の Win32 プロジェクトですけど、LoadImage 関数の第2引数でリソースIDを指定する時
VS2013 だと MAKEINTRESOURCE マクロを使わないとコンパイルエラーが発生してたのに
VS2015 だと逆にこのマクロ使うと LPTSTR を WORD に切り詰めたと警告が出ます。
VS2015 では仕様が変わったのですか?
MSDN 調べてもそれらしい項目が見つかりません。
何かわかる方おられますか?
Visual Studio 2015 Part3©2ch.net
221 :デフォルトの名無しさん[sage]:2015/10/22(木) 04:41:20.09 ID:rWP1FQIU
>>220
誤 LPTSTR
正 LPWSTR
Visual Studio 2015 Part3©2ch.net
223 :デフォルトの名無しさん[sage]:2015/10/22(木) 05:03:58.08 ID:rWP1FQIU
自己解決しました。
VS2015ではリソースIDを定義している組み込みヘッダーの WinUser.h でリソースIDそのものが
MAKEINTRESOURCE マクロ込みで定義されてた。
結果的にソースとヘッダーで2重にマクロを適用していることになってしまってる。
少しでもソースのコーディング量を減らしてあげようという改良なんだろうけど、ソースの互換性
という点では微妙な変更だなあ。
Visual Studio 2015 Part3©2ch.net
238 :デフォルトの名無しさん[sage]:2015/10/22(木) 13:40:50.33 ID:rWP1FQIU
>>234
呼ばれた気がするのでレス
アプリケーション定義だろうがシステム定義だろうがリソースID(数値)にはMAKEINTRESOURCEは必要
不要なのは直接 文字列 でリソースを指定する時だけ
Visual Studio 2015 Part3©2ch.net
243 :デフォルトの名無しさん[sage]:2015/10/22(木) 13:56:03.91 ID:rWP1FQIU
>>239
リソーススクリプトファイル(.rc)にリソース名を直接記述するか、IDE上のリソースのプロパティでダブルクォーテションで囲って
リソース名を記述すれば、MAKEINTRESOURCEマクロ使わなくても LPTSTR で直接リソースを指定できる。
リソースID(WORD)の場合はMAKEINTRESOURCE で LPTSTR に変換する必要がある。

https://msdn.microsoft.com/en-us/library/windows/desktop/ms648029(v=vs.85).aspx


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。