全然更新しないブログ
HSPメモ帳
VS2008(WINVER と_WIN32_WINNT)
Visual Studio(以下VS)2003で動作してVS2008では動作しなかった事例
改善方法
とりあえず、以下を追加することでOK。(0x0600の指定で上記エラー発生)
関連URL
Visual C++ の概念 : 移植とアップグレード
方法 : WINVER および _WIN32_WINNT を変更する
http://msdn2.microsoft.com/ja-jp/library/6sehtctf.aspx
# VISTA…
- 環境
- OS XP SP2
win32 Project(未MFC) - 状況
- リバーコントロールでRB_INSERTBANDが失敗する
VS2003で作成して実行した場合とをVS2008で実行した場合に違いがある。
両方のバージョンともにコンパイル、ビルドは可能。
VS2003では、リバーコントロール、追加コントロールが正常に表示されるが、
VS2008では、どちらも表示されない。
また、SPY++にて各コントロールは作成されているのを確認。
/* hRebar = CreateWindowEx(WS_EX_TOOLWINDOW,REBARCLASSNAME,NULL,…); REBARBANDINFO rebarInfo; rebarInfo.cbSize = sizeof( REBARBANDINFO ); // 他省略 */ SendMessage( hRebar, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&rebarInfo ); // 上記、SendMessageでエラー(戻り値:0) |
改善方法
とりあえず、以下を追加することでOK。(0x0600の指定で上記エラー発生)
#define WINVER 0x0501 #define _WIN32_WINNT 0x0501 |
関連URL
Visual C++ の概念 : 移植とアップグレード
方法 : WINVER および _WIN32_WINNT を変更する
http://msdn2.microsoft.com/ja-jp/library/6sehtctf.aspx
# VISTA…
コメント ( 1 ) | Trackback ( 0 )
« ソート | 日本語表記に... » |
まさかVS2008であること自体が罠だったとは……