正在阅读:实用!超强VC/MFC 常见问答收集实用!超强VC/MFC 常见问答收集

2004-07-15 10:04 出处:CSDN 作者:jiangsheng收集 责任编辑:linjixiong


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;

      hr = pUnk->QueryInterface(IID_IOleObject, (void**)&pOleObject);
      pUnk->Release();

      if (SUCCEEDED(hr))
      {
          CLSID clsID;
          pOleObject->GetUserClassID(&clsID);
      }
   }

   pEnumerator->Release();

  

  控件的IOleObject接口是用来查询控件的CLSID的。你应该查询控件的IDispatch接口,然后按照http://www.csdn.net/develop/read_article.asp?id=14752里面的方法调用其属性和方法。

  问:
  已知PIDL怎么得到他对应的IShellFolder指针呢
  答:用SHBindtoParent就可以了


IShellFolder *psfParent; //A pointer to the parent folder object's IShellFolder interface
LPITEMIDLIST pidlItem = NULL; //the item's PIDL
LPITEMIDLIST pidlRelative = NULL; //the item's PIDL relative to the parent folder
STRRET str; //the display name's STRRET structure
TCHAR szDisplayName[MAX_PATH]; //the display name's string

HRESULT hres = SHBindToParent(pidlItem, IID_IShellFolder, &psfParent, &pidlRelative);
if(SUCCEEDED(hres))
{
    psfParent->GetDisplayNameOf(pidlRelative, SHGDN_NORMAL, &str);
    psfParent->Release();
    StrRetToBuf(&str, pidlItem, szDisplayName, ARRAYSIZE(szDisplayName));
}



  问:如何handle IE的textsize changed event? 我想在用户改变text size 时做些处理,请问该如何handle,在哪个事件中做?谢谢指教。
  答:sink HtmlDocument对象的IOleCommandTaget接口。

  问:  IStream *pStream; CString mString; 怎么样才能把pStream的内容赋给mString呢? 
  答:下面的代码把一个内存流读到字节数组。你可以根据字符串的类型把字节数组转化成字符串。


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品