描述:
在VC++开发时,给一个Html控件里面插入一个ActiveX控件。
插入方式是加入这句话:
<object classid='clsid:ED47046A-883B-11D5-B526-ADDE3AD1445F' id=1234567 width='302' height='50'></object>
现在我如何通过程序查找到这个控件,并且对它的属性进行设置
我的思路如下:
IOleContainer* pContainer;
// Get the container
HRESULT hr = m_pHtmlDoc2->QueryInterface(IID_IOleContainer,
(void**)&pContainer);
if (FAILED(hr))
return hr;
IEnumUnknown* pEnumerator;
// Get an enumerator for the frames
hr = pContainer->EnumObjects(OLECONTF_EMBEDDINGS, &pEnumerator);
pContainer->Release();
if (FAILED(hr))
return hr;
IUnknown* pUnk;
ULONG uFetched;
// Enumerate and refresh all the frames
for (UINT i = 0; S_OK == pEnumerator->Next(1, &pUnk, &uFetched); i++)
{
// QI for IOleObject here to see if we have an embedded browser
IOleObject* pOleObject;
CGradientProgress* pCtrl;//这个是我的控件
hr = pUnk->QueryInterface(IID_IOleObject, (void**)&pOleObject);
// hr = pUnk->QueryInterface(IID_IOleGradientProgress, (void**)&pCtrl);
pUnk->Release();
if (SUCCEEDED(hr))
{
//这个地方执行我对控件的操作
}
}
pEnumerator->Release();
请问我该如何才能查找到这个控件,并进行设置了
谢谢!