9


1

私はwin32が初めてです。 私はこれまで48時間取り組んできました。

私は* "grid" を構築しようとしています、そして私はmsdn.microsoft.comで List-Viewコントロール*と* Headerコントロール*の例を得ました。

最初のものはInitCommonControls()関数を呼び出します(私がこの関数を読んだことに加えて時代遅れです)。

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

//共通コントロールDLLがロードされていることを確認してから、//ヘッダーコントロールを作成します。 InitCommonControls();

// ...

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

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

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

//共通制御DLLがロードされていることを確認してください。 icex.dwSize = sizeof(INITCOMMONCONTROLSEX); icex.dwICC = ICC_LISTVIEW_CLASSES; InitCommonControlsEx(

// ...

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

これらの関数はcomctl32.libライブラリを必要としているようですが、ダウンロードするのは面倒です。

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

ありがとうございます。

1 Answer


8


はい、それは必要です。 それらは登録されているカスタムコントロールのウィンドウクラスを取得するために必要です。 オッズは、コード内の他のコンポーネントがそれらをロードしていることです。 よくわかりませんが、マニフェストでcomctl v6(XP以降のビジュアルスタイル)をサポートしている場合は、commctl32.dllが自動的に表示されます。

InitCommonControlsExの機能の詳細については、http://blogs.msdn.com/oldnewthing / archive / 2005/07/18 / 439939.aspx [ここ]を参照してください。

あなたがcomctl32.libをダウンロードすることによって何を意味するのかわからない、それはあなたがそれを再配布する必要がないのでNT 4およびWindows 95以降のすべてのWindowsプラットフォームに存在する。