WindowsのWin32APIを使用してステータスバーを作成する方法

このQ&Aのポイント
  • WindowsのWin32APIを使用してステータスバーを作成するプログラムで、リンクエラーが発生しています。
  • ステータスバーを作成する関数をコメントアウトすると、ステータスバーのないプログラムが作成されます。
  • エラーメッセージによれば、Proc関数で未解決のシンボル"InitCommonControls"と"CreateStatusWindow"が参照されています。
回答を見る
  • ベストアンサー

ステータスバーを作ろうとしてもリンクエラー

 WindowsのWin32APIだけを用いてプログラムを作成中なのですが、どうしてもステータスバーは作成されません。  ステータスバーを作る(はず)の関数をコメントアウトするとステータスバーがないプログラムができます。 環境---- Windows2000Pro VisualStudio .NET 2003 Academic ソース------ (ユーザー関数は別の名前です。) #include<commctrl.h> HWND hStatus; //ステータスバー用のウィンドウハンドル int Proc(HWND hwnd, ... )//親ウィンドウ、ほかにも引数あり { : : InitCommonContorls(); hStatus=CreateStatusWindow(WS_CHILD|WS_VISIBLE, "AAAAAAAAAA",//適当な文字列 hwnd, ID_STATUS);//#define...で定義済みの定数 : : } エラー----- LNK2019:未解決のシンボル"InitCommonControls"がProcで参照されました。 LNK2019:未解決のシンボル"CreateStatusWindow"がProcで参照されました。

  • 12m24
  • お礼率100% (1/1)

質問者が選んだベストアンサー

  • ベストアンサー
  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.1

[プロジェクトのプロパティ]→[リンカ]→[入力]→[追加する依存関係]に、comctrl32.libを追加したら出来ないでしょうか。 http://www.nitoyon.com/vc/reference/gui/listview_report.htm http://homepage.broba.ws/kmaeda/directx9/hello.htm

12m24
質問者

お礼

 ありがとうございました。"comctl32.lib"を教えていただいた場所に追加したら無事にリンクすることができました。BCCはこのようなことを考えなくてもよかったので、見落としてしまいました。

関連するQ&A

  • Visual C++ 2005 Express EditionでLINK2019エラー

    Visual C++ 2003.netからVisual C++ 2005 Express Editionに移行した際に、以前書いたプログラムがリンクエラーで動かなくなってしまいました。 追加するLibディレクトリが足りないのかと思ったのですが、何が足りないのか見つけることができませんでした。 解決法を教えていただけないでしょうか。 OSはWindows XPです。 よろしくお願いします。 エラーメッセージの内容↓ ------------------------------- error LNK2019: 未解決の外部シンボル __imp__GetWindowPlacement@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__DispatchMessageA@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__PeekMessageA@20 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__ValidateRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__ShowWindow@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__SetWindowPos@28 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetWindowRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetClientRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__CreateWindowExA@48 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetSystemMetrics@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__RegisterClassExA@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__LoadCursorA@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 error LNK2019: 未解決の外部シンボル __imp__PostQuitMessage@4 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 現在追加されているLibディレクトリ↓ ------------------------------------------- $(VCInstallDir)lib $(VCInstallDir)PlatformSDK\lib $(FrameworkSDKDir)lib $(VSInstallDir) $(VSInstallDir)lib C:\Program Files\Microsoft Platform SDK\Lib C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib\x86

  • プロジェクトを作った際のエラー

    VisualC++ 2005 Express Editionを使用してます win32コンソールアプリケーション - アプリケーション設定 - windowsアプリケーション この新しく作ったプロジェクトを何もいじらずにビルドすると __imp__EndPaint@8 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__BeginPaint@8 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__DefWindowProcW@16 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__DestroyWindow@4 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__DialogBoxParamW@20 が関数 "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 test.obj : error LNK2019: 未解決の外部シンボル __imp__EndDialog@8 が関数 "int __stdcall About(struct HWND__ *,unsigned int,unsigned int,long)" (?About@@YGHPAUHWND__@@IIJ@Z) で参照されました。 C:\C++test\test\Debug\test.exe : fatal error LNK1120: 外部参照 19 が未解決です。 というエラーが出てしまいます 800文字オーバーしてしまうのでエラーの前半部分を消してあります この原因と解決方法を教えてください よろしくお願いします

  • リンクエラーが出ます

    ウィンドウ枠を作るプログラムで、 1>text1.obj : error LNK2019: 未解決の外部シンボル "unsigned short __cdecl InitApp(struct HINSTANCE__ *)" (?InitApp@@YAGPAUHINSTANCE__@@@Z) が関数 _WinMain@16 で参照されました。 1>F:\C言語\猫でも分かるW\text1\Debug\text1.exe : fatal error LNK1120: 外部参照 1 が未解決です。 1>ビルドログは "file://f:\C言語\猫でも分かるW\text1\text1\Debug\BuildLog.htm" に保存されました。 1>text1 - エラー 2、警告 0 と言うエラーがでました。 サイトを調べたのですが、わかりません。

  • このエラーは??

    コンパイラーすると次のようなエラーがでました。 a.obj : error LNK2019: 未解決の外部シンボル _printfが関数_mainで参照されました。 a.exe : fatal error LNK1120: 外部参照1が未解決です。 このエラーはなんでしょうか??よろしくお願いします。

  • DLL呼び出しAPのリンクエラーについて

    DLL作成初心者です。 当方で簡単なDLLを作成しました。 試しに、下記の呼び出しAP(EXE)を作成しようと したのですが、リンクエラーになります。 どうしてでしょうか? 呼び出しAP #include <windows.h> int main(){ static HINSTANCE hDLL; hDLL = LoadLibrary(TEXT("DLL_TEST.DLL")); if (hDLL) FreeLibrary(hDLL); return 0; } リンクエラーは下記 IBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/TEST.exe : fatal error LNK1120: 外部参照 1 が未解決です また上記"_WinMain@16"のライブラリーをリンクさせると SCRNSAVE.LIB(scrnsave.obj) : error LNK2005: _main はすでに test.obj で定義されています SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_ScreenSaverProc@16" は未解決です SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_ScreenSaverConfigureDialog@16" は未解決です SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_RegisterDialogClasses@4" は未解決です Debug/TEST.exe : fatal error 等のエラーになります。 解決策を教えてください。

  • VC++2005ExpressEditionでのエラー

    タイトルの通り、VC++2005EEでプログラムを作成しているのですが ビルド時にエラーが出てしまいます。 ------ ビルド開始: プロジェクト: Object, 構成: Debug Win32 ------ リンクしています... 3jjiki.obj : error LNK2019: 未解決の外部シンボル "int img_R" (?img_R@@3HA) が関数 "void __cdecl JikiLoad(void)" (?JikiLoad@@YAXXZ) で参照されました。 3jjiki.obj : error LNK2019: 未解決の外部シンボル "int img_C" (?img_C@@3HA) が関数 "void __cdecl JikiLoad(void)" (?JikiLoad@@YAXXZ) で参照されました。 3jjiki.obj : error LNK2019: 未解決の外部シンボル "struct BBB * bombig" (?bombig@@3PAUBBB@@A) が関数 "void __cdecl JikiInit(void)" (?JikiInit@@YAXXZ) で参照されました。 3jjiki.obj : error LNK2019: 未解決の外部シンボル "struct BBB * bom" (?bom@@3PAUBBB@@A) が関数 "void __cdecl JikiInit(void)" (?JikiInit@@YAXXZ) で参照されました。 3jjiki.obj : error LNK2019: 未解決の外部シンボル "struct SHOT_C * JitamaC" (?JitamaC@@3PAUSHOT_C@@A) が関数 "void __cdecl JikiShotC(void)" (?JikiShotC@@YAXXZ) で参照されました。 3jjiki.obj : error LNK2019: 未解決の外部シンボル "struct CharaData CharaData" (?CharaData@@3U0@A) が関数 "void __cdecl JikiShotC(void)" (?JikiShotC@@YAXXZ) で参照されました。 3jjiki.obj : error LNK2019: 未解決の外部シンボル "struct SHOT_R * JitamaR" (?JitamaR@@3PAUSHOT_R@@A) が関数 "void __cdecl JikishotR(void)" (?JikishotR@@YAXXZ) で参照されました。 I:\Works\Projects\Object\Debug\Object.exe : fatal error LNK1120: 外部参照 7 が未解決です。 ビルドログは "file://i:\Works\Projects\Object\Object\Debug\BuildLog.htm" に保存されました。 Object - エラー 8、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== 未解決のシンボルと言われているものは全てヘッダーファイルにて extern int img_C; の様に宣言しています。 あれこれ弄って見たのですが全く進展しません。 アドバイスをお願いします。

  • VC++2005EEでビルドできない

    VC++ 2005 ExpressEditionをインストールし、 マイクロソフトのヘルプに書いてある手順通りに 設定を行ったのですがビルド時に以下の エラーメッセージが表示されます。 エラーメッセージの一部 test2.obj : error LNK2019: 未解決の外部シンボル __imp__DispatchMessageW@4 が関数 _wWinMain@16 で参照されました。 test2.obj : error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 _wWinMain@16 で参照されました。 test2.obj : error LNK2019: 未解決の外部シンボル __imp__TranslateAcceleratorW@12 が関数 _wWinMain@16 で参照されました。 test2.obj : error LNK2019: 未解決の外部シンボル __imp__GetMessageW@16 が関数 _wWinMain@16 で参照されました。 このようなエラーが計20発生してしまいます。 ちなみに作成しようとしたプログラムは単に ウインドウを表示するだけのもので、名前はtest2です。 どなたか対処法をご存知の方がいらっしゃいましたら ご教授願います 参照URL:http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/

  • visual studio 2010 のエラー

    エラー 9 error LNK2019: 未解決の外部シンボル _cvCreateFileCapture が関数 _main で参照されました。 というものが出ました。 対処の方法を教えてください!!!!!!

  • 外部シンボル" ~~"は未解決ですというエラーが直らない

    VisualStdio2005で空のプロジェクトからコンソールアプリケーションを作成しています。 以下の三つのエラーが解決できなくて悩んでいます。 : error LNK2001: 外部シンボル "_name" は未解決です。 : error LNK2001: 外部シンボル "_teki" は未解決です。 : fatal error LNK1120: 外部参照 2 が未解決です。 nameとtekiはchar型の変数として宣言しています。 このエラーはどのようにいじれば解決するのでしょうか。 助けてください。

  • リンクの問題

    リンクしています... MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 C:\Documents and Settings\hiro\My Documents\Visual Studio 2008\Projects\2maikyori\Debug\2maikyori.exe : fatal error LNK1120: 外部参照 1 が未解決です。  というerrorが出てくるのですが、どうすればリンクできるようになるのでしょうか?  ご教授お願いします。

専門家に質問してみよう