У меня есть решение MSVC 2010, которое содержит 2 проекта:
Мне удалось добавить DHTMLControl в диалоге:
Однако моя проблема в том, что я не знаю, как использовать этот элемент управления!
Предполагая, что я нахожусь в сфере действия MainDialog, скажем:
LRESULT CMainDialog::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
Каков будет правильный способ вызова методов DHTMLControl? Скажем, я бы хотел перейти к другому URL-адресу или тому подобное после нажатия кнопки в главном диалоговом окне.
Как я могу получить указатель / ссылку на DHTMLControl (CDHTMLControl? IDHTMLControl?), Находящийся внутри класса CMainDialog?
Извините, если это звучит немного грязно, но я действительно борюсь с ATL.
Спасибо.
Включите сгенерированный _i.h в заголовок диалогового окна (не включайте заголовок фактического элемента управления — он не должен быть включен).
Затем используйте что-то вроде этого:
CComPtr<IDHTMLControl> ptr;
HRESULT hr = GetDlgControl(IDC_DHTML_CONTROL, IID_IDHTMLControl, (void**)&ptr);
BSTR url = SysAllocString(L"http://example.com/");
// Call control's prop method
ptr->put_Url(url);
SysFreeString(url);
Других решений пока нет …