如题,查了半天msdn也没找到办法!
麻烦高手帮忙

解决方案 »

  1.   

    void CMainFrame::HtmlSetFocus(IHTMLElementCollection* pHtml, const TCHAR* name)
    {
    HRESULT result = NULL;
    IDispatch* pDispatch = NULL;
    IHTMLControlElement* pControl = NULL; result = pHtml->item(COleVariant(name), COleVariant((long)0), &pDispatch);
    if(FAILED(result) || pDispatch==NULL)
    return; result = pDispatch->QueryInterface(IID_IHTMLControlElement, (void**)&pControl);
    pDispatch->Release();
    if(FAILED(result) || pControl==NULL)
    return;
    pControl->focus();
    pControl->Release();
    }记得结贴给我分
      

  2.   

    分数不是问题
    但是我用兄弟你的代码测试,
    result   =   pHtml-> item(COleVariant(name),   COleVariant((long)0),   &pDispatch); 
    上面那行获取的pDispatch是NULL
      

  3.   

    你说的是input元素吧。可以直接用IHTMLElement::focus()方法,或者用click()方法
      

  4.   

    result       =       pHtml->   item(COleVariant(name),       COleVariant((long)0),       &pDispatch);  
    上面那行获取的pDispatch是NULL看看你的pHtml参数传递的是那个,如果是一个form的话就要看你要取的表单域在不在这个form内了
      

  5.   

    嗯,问题找到了
    就是和shui_her说的一样,表单项不在这个form内
      

  6.   

    IHTMLElementCollection*   pHtml这个参数把整个文档的IHTMLElementCollection传进去就OK了