MSVC 2010 を使用して、単純な既定の ATL ダイアログを使用して既定の ATL プロジェクトを作成しました。次に、MyControls という名前の 2 番目のプロジェクトをソリューションに追加し、ウィザードを使用して ATL DHTML コントロールを作成しました。次に、ATL DHTML コントロールを ATL ダイアログに配置しました。
OnInitDialog
ここで、ATL ダイアログの関数でその ATL DHTML コントロールのいくつかのメソッドを呼び出したいと思います。次のような電話をかけることができるようにするには:
CComPtr<IDHTMLControl> ptr;
HRESULT hr = GetDlgControl(IDC_ACTIVEX_CONTROL_DHTML
, IID_IDHTMLControl, (void**)&ptr);
MyControls プロジェクトの DHTMLControl.h ファイルをインクルードしています。ただし、次のエラーが発生します。
- エラー 1 エラー LNK2001: 未解決の外部シンボル _IID_IDHTMLControl
- エラー 2 エラー LNK2001: 未解決の外部シンボル _LIBID_MyControlsLib
- エラー 3 エラー LNK2001: 未解決の外部シンボル _CLSID_DHTMLControl
- エラー 4 エラー LNK2001: 未解決の外部シンボル _IID_IDHTMLControlUI
注: MyControls.lib を間違ってリンクしているようですが、MyControls.lib を [リンカー] -> [入力] -> [追加の依存関係] に追加し、[リンカー] -> [一般] -> [追加のライブラリ ディレクトリ] で ../$(Configuration) を指定しました。
誰にもアイデアがありますか?ありがとう!