15,466
社区成员
发帖
与我相关
我的任务
分享 VARIANT_BOOL vRect;
BSTR Eventonchange = SysAllocString(L"onchange");
CComQIPtr< IHTMLElement3 > spElem3;
hr=spSelectElem->QueryInterface(IID_IHTMLElement3,(void**)&spElem3);
ASSERT(SUCCEEDED(hr));
hr=spElem3->fireEvent(Eventonchange,0,&vRect);
ASSERT(SUCCEEDED(hr));
spElem3.Release();CComQIPtr< IHTMLEventObj > spEo;
hr = spDoc4->createEventObject(NULL, &spEo);
CComQIPtr<IDispatch> spDisp(spEo);
CComVariant var(spDisp);
VARIANT_BOOL bCancel = VARIANT_FALSE;
CComQIPtr< IHTMLElement3 > spElem3;
hr=spSelectElem->QueryInterface(IID_IHTMLElement3,(void**)&spElem3);
ASSERT(SUCCEEDED(hr));
hr = spElem3->fireEvent(L"onchange", &var, &bCancel);
ASSERT(SUCCEEDED(hr));
HRESULT fireEvent(
BSTR bstrEventName,
VARIANT *pvarEventObject,
VARIANT_BOOL *pfCancelled
);
//********************************点燃"onchange"事件********************************/
VARIANT_BOOL vRect;
BSTR Eventonchange = SysAllocString(L"onchange");
CComQIPtr< IHTMLElement3 > spElem3;
hr=spSelectElem->QueryInterface(IID_IHTMLElement3,(void**)&spElem3);
ASSERT(SUCCEEDED(hr));
hr=spElem3->fireEvent(Eventonchange,0,&vRect);
ASSERT(SUCCEEDED(hr));//此处报错,前一步编译器显示:
//hr 0x800706f4 向占位程序传送了空的索引指针。 HRESULT
spElem3.Release();
//****************************************************************/BOOL CWorkshopApp::InitInstance()
{
//TODO: call AfxInitRichEdit2() to initialize richedit2 library.
if(!AfxOleInit())
{
AfxMessageBox(_T("OLE初始化出错!"));
return FALSE;
} HRESULT hr;
m_listTT[k].ResetContent();
CComQIPtr< IHTMLSelectElement > spSelectElem;
if(ArrSpSelectElem.GetAt(k, spSelectElem))
{
nCount--;
long length = 0;
spSelectElem->get_length(&length);
CStringArray strArrText;
if(GetOptionsTextValue(spSelectElem, strArrText, 0))
{
for(int i=0; i<strArrText.GetCount(); i++)
{
m_listTT[k].AddString(strArrText[i]);
}
}
else
{ return false; }
for(int i=0; i<length; i++)
{
//AddToDB(i);
hr = spSelectElem->put_selectedIndex(i);
if(FAILED(hr)) AfxMessageBox(_T("Fail to put_selectedIndex"));
//********************************点燃"onchange"事件********************************/
VARIANT_BOOL vRect;
BSTR Eventonchange = SysAllocString(L"onchange");
CComQIPtr< IHTMLElement3 > spElem3;
hr=spSelectElem->QueryInterface(IID_IHTMLElement3,(void**)&spElem3);
ASSERT(SUCCEEDED(hr));
hr=spElem3->fireEvent(Eventonchange,0,&vRect);
ASSERT(SUCCEEDED(hr));//此处报错,前一步编译器显示:
//hr 0x800706f4 向占位程序传送了空的索引指针。 HRESULT
spElem3.Release();
//****************************************************************/
m_listTT[k].SetCurSel(i);