2009-04-07 42 views
9

私は完全にwin32に新しいです。私は最後の48時間それに取り組んでいます。InitCommonControlsEx()とInitCommonControls()を使用する必要がありますか?

私は「グリッド」を構築しようとしている、と私はリストビューコントロールとmsdn.microsoft.comにヘッダーコントロールの例を得ました。

最初の関数はInitCommonControls()関数を呼び出します(この関数は古くなっています)。

HWND DoCreateHeader(HWND hwndParent, HINSTANCE hInst) 
{ 
    HWND hwndHeader; 
    RECT rcParent; 
    HDLAYOUT hdl; 
    WINDOWPOS wp; 

    // Ensure that the common control DLL is loaded, and then create 
    // the header control. 
    InitCommonControls(); 

    // ... 

    // hwndHeader = CreateWindowEx(0, WC_HEADER, ... 
} 

2番目はInitCommonControlsEx()関数を呼び出します。

HWND CreateListView (HWND hwndParent, HINSTANCE hInst) 
{  
    RECT rcl; 
    INITCOMMONCONTROLSEX icex; 

    // Ensure that the common control DLL is loaded. 
    icex.dwSize = sizeof(INITCOMMONCONTROLSEX); 
    icex.dwICC = ICC_LISTVIEW_CLASSES; 
    InitCommonControlsEx(&icex); 

    // ... 

    // HWND hWndListView = CreateWindow(WC_LISTVIEW ... 
} 

これらの機能はcomctl32.libライブラリが必要であると思われますが、ダウンロードは混乱しています。

さらに、これらの機能を削除しても、すべてがうまく機能していることに気付きました。 それでは、それらは必要ですか?

ありがとうございました!

答えて

6

はい、必要です。登録されたカスタムコントロールのウィンドウクラスを取得する必要があります。あなたのコードの他のコンポーネントがそれらをロードしています。私は確信していませんが、あなたのマニフェストにcomctl v6(XPとビジュアルスタイル)のサポートがあれば、自動的にcommctl32.dllが得られると思います。

InitCommonControlsExの機能の詳細は、hereです。

comctl32.libのダウンロードが何であるか分かりません.NTC 4とWindows 95以降のすべてのWindowsプラットフォームに存在するため、再配布する必要はありません。

+0

ああ私の神!ありがとうございました!私はそれがあったことに気付かなかった c:¥Program Files¥Microsoft SDKs¥Windows¥v6.0A¥Lib – kiewic

関連する問題