do{
if(m_pDocObjectServer==NULL) break;
CComPtr<IOleObject> pOleObject;
m_pDocObjectServer->ExternalQueryInterface(&IID_IOleObject,(LPVOID*)&pOleObject);
if(pOleObject==NULL) break;
CComPtr<IOleClientSite> pOleClientSite;
pOleObject->GetClientSite(&pOleClientSite);
if(pOleClientSite==NULL) break;
CComPtr<IOleContainer> pOleContainer;
pOleClientSite->GetContainer(&pOleContainer);
if(pOleContainer==NULL) break;
CComQIPtr<IServiceProvider> pServiceProvider(pOleContainer);
if(pServiceProvider==NULL) break;
CComQIPtr<IServiceProvider> pTopLevelServiceProvider;
pServiceProvider->QueryService(SID_STopLevelBrowser, IID_IServiceProvider, (LPVOID*)&pTopLevelServiceProvider);
if(pTopLevelServiceProvider==NULL) break;
CComPtr<IWebBrowser2> pWebBrowser2;
pTopLevelServiceProvider->QueryService(SID_SWebBrowserApp, IID_IWebBrowser2,(LPVOID*)&pWebBrowser2);
if(pWebBrowser2==NULL) break;
pServiceProvider=pWebBrowser2;
CComPtr<IOleWindow> pOleWindow;
pServiceProvider->QueryService(SID_SShellBrowser, IID_IOleWindow,(LPVOID*)&pOleWindow);
if(pOleWindow==NULL) break;
HWND hwndBrowserOrTab = NULL;
pOleWindow->GetWindow(&hwndBrowserOrTab);
if(hwndBrowserOrTab==NULL) break;
CString newTitle;
newTitle.Format("%s (%d strokes)",
m_strPathName,
m_strokeList.GetSize());
BOOL result=::SetWindowText(hwndBrowserOrTab,(LPCTSTR)newTitle);
if(result==FALSE)
{
int errorCode=GetLastError(); //no error here but looks like no way to update tab caption, which is in a DirectUIHWND window in the frame process.
}
}while(FALSE);
3/1/02 9/1/03 10/1/03 11/1/03 12/1/03 1/1/04 2/1/04 3/1/04 4/1/04 6/1/04 7/1/04 10/1/04 11/1/04 12/1/04 1/1/05 2/1/05 3/1/05 4/1/05 5/1/05 6/1/05 7/1/05 8/1/05 9/1/05 10/1/05 11/1/05 12/1/05 1/1/06 2/1/06 3/1/06 10/1/06 8/1/07 5/1/09 8/1/09 11/1/09 3/1/10 6/1/10 9/1/10 2/1/12
Subscribe to Posts [Atom]