X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=nlite%2Fnlite_addTomylistWindow.cpp;h=781e9cba588fe2ecc8407f12301bb3dc8f447609;hb=4d94699c2dce57133a48f2e794d103a6176e46b4;hp=d1479a3286663add00b17d63bfb5f36c053931d3;hpb=521d68fe6ebb8e3dd84ffc124bc15b0a6800468e;p=nlite%2Fnlite.git diff --git a/nlite/nlite_addTomylistWindow.cpp b/nlite/nlite_addTomylistWindow.cpp index d1479a3..781e9cb 100644 --- a/nlite/nlite_addTomylistWindow.cpp +++ b/nlite/nlite_addTomylistWindow.cpp @@ -5,8 +5,8 @@ namespace nlite{ static const LPCTSTR ADDMYLIST_URL = TEXT("MSHTML:"); - - + static const LPCTSTR ADDMYLISTAPI_URL = TEXT("http://www.nicovideo.jp/mylist_add/video/{1}"); + /* VOID WINAPI CAddToMyListWindow::OnDocumentComplete(IDispatch* pDisp, VARIANT* URL){ CComPtr idp; @@ -29,6 +29,13 @@ namespace nlite{ return (BOOL)SendMessage(WM_FORWARDMSG, 0, (LPARAM)pMsg); } + VOID WINAPI CAddToMyListWindow::OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel){ + + dumpln(TEXT("veforeNavigate")); + + return; + } + VOID CAddToMyListWindow::ShowAddWindow(CNicoVideoAuth &refAuth,LPCTSTR lvNo){ liveNo = ADDMYLIST_URL; @@ -90,6 +97,109 @@ cleanup:; SetMsgHandled(false); } + */ + + VOID WINAPI CAddToMyListWindow::OnDocumentComplete(IDispatch* pDisp, VARIANT* URL){ + /* + CComPtr idp; + this->m_pWB2->get_Document(&idp); +// this->m_pDoc2 = idp; +*/ + return; + } + + VOID WINAPI CAddToMyListWindow::OnNewWindow2(LPDISPATCH* ppDisp,BOOL* Cancel ){ + + dumpln(TEXT("newwindow")); + return; + } + + BOOL CAddToMyListWindow::PreTranslateMessage(MSG* pMsg){ + if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && + (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) + return FALSE; + + return (BOOL)SendMessage(WM_FORWARDMSG, 0, (LPARAM)pMsg); + } + + VOID WINAPI CAddToMyListWindow::OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel){ + + + dumpln(TEXT("veforeNavigate")); + + return; + } + + + VOID CAddToMyListWindow::ShowAddWindow(CNicoVideoAuth &refAuth,LPCTSTR lvNo){ + + this->CenterWindow(); + this->ShowWindow(SW_SHOW); + liveNo = ADDMYLISTAPI_URL; + liveNo.Replace(TEXT("{1}"), lvNo); + + if(m_pWB2){ + VARIANT v; + + m_pWB2->Navigate(CComBSTR(liveNo),&v,&v,&v,&v); + + /* + // Creates a new one-dimensional array + SAFEARRAY *psaStrings = SafeArrayCreateVector(VT_VARIANT, 0, 1); + if (psaStrings == NULL) { + goto cleanup; + } + VARIANT *param; + HRESULT hr = SafeArrayAccessData(psaStrings, (LPVOID*)¶m); + param->vt = VT_BSTR; + param->bstrVal = CComBSTR(liveNo); + hr = SafeArrayUnaccessData(psaStrings); + m_pDoc2->write(psaStrings); + */ +cleanup:; + + //CComPtr iup; + //HRESULT rslt = this->CreateControlEx(liveNo,(IStream*)NULL,(IUnknown**)NULL,&iup,GUID_NULL,(IUnknown*)NULL); + //CComPtr idp = (IDispatch*)&iup; + //iup->QueryInterface(DIID_DWebBrowserEvents2,(LPVOID*)&idp); + + + } + } + + + INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){ + LRESULT lRet = DefWindowProc(); + + HRESULT hRet = QueryControl(&m_pWB2); + if(SUCCEEDED(hRet)){ + DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2); + } + /* + VARIANT v; + //m_pWB2->Navigate(TEXT("url"),&v,&v,&v,&v); + m_pWB2->Navigate(TEXT("about:brank"),&v,&v,&v,&v); + */ + return lRet; + } + + + VOID CAddToMyListWindow::OnDestroy(){ + + + + if(m_pWB2){ + if(DispEventUnadvise(m_pWB2, &DIID_DWebBrowserEvents2) == S_OK){ + m_pWB2 = NULL; + } + } + + SetMsgHandled(false); + } + VOID CAddToMyListWindow::OnClose(){ + + this->ShowWindow(SW_HIDE); + } }