HRESULT CPouVarSelCtrlWrapper::LookupHeader(const CString& strPou,
                                            CString& strHeaderFile)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        CComBSTR sPou(strPou);
        CComBSTR sHeaderFile;
        HRESULT hr =  m_pPouVarSel->LookupHeader(sPou, &sHeaderFile);
        if (hr==S_OK)
        {
            strHeaderFile = sHeaderFile;
        }
        return hr;
    }
}
HRESULT CPouVarSelCtrlWrapper::ShowVarSelectionBox(LONG lXPos, LONG lYPos,
                                                   BSTR szLine, LONG lColumn,
                                                   BSTR szTypeHint,
                                                   BSTR szPouName,
                                                   BSTR* pszSelection,
                                                   LONG* plStartColumn,
                                                   LONG* plEndColumn)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        HRESULT hr =  m_pPouVarSel->ShowVarSelectionBox(lXPos, lYPos,
                                                        szLine, lColumn,
                                                        szTypeHint,
                                                        szPouName,
                                                        pszSelection,
                                                        plStartColumn,
                                                        plEndColumn);
        return hr;
    }
}
HRESULT CPouVarSelCtrlWrapper::InitPouVarSelection()
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        return m_pPouVarSel->InitPouVarSelection();
    }
}
HRESULT CPouVarSelCtrlWrapper::DisablePouVarSelection(BOOL bDisable)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        HRESULT hr =  m_pPouVarSel->DisablePouVarSelection(bDisable);
        return hr;
    }
}
/////////////////////////////////////////////////////////////////////////////
// CPouVarSelCtrlWrapper operations
HRESULT CPouVarSelCtrlWrapper::ShowPouSelection()
{
	//InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        return m_pPouVarSel->ShowPouSelection();
    }
}
HRESULT CPouVarSelCtrlWrapper::GetPouList(SAFEARRAY** parrPous)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        HRESULT hr =  m_pPouVarSel->GetPouList(parrPous);
        return hr;
    }
}
HRESULT CPouVarSelCtrlWrapper::GetPouMember(BSTR szPouName, 
                                            SAFEARRAY** parrMembers)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        HRESULT hr =  m_pPouVarSel->GetPouMember(szPouName, parrMembers);
        return hr;
    }
}
HRESULT CPouVarSelCtrlWrapper::GetPouDefinition(BSTR szPouName, 
                                                BSTR* pszPouDef)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        HRESULT hr =  m_pPouVarSel->GetPouDefinition(szPouName, pszPouDef);
        return hr;
    }
}
Example #9
0
bool CHtmlCtrl::Create(CWnd* pParent, const RECT& rc, LPCTSTR pszHomeURL /*= NULL*/, bool fBtnText /*= true*/)
{
    AfxEnableControlContainer();
    CRect rcClient(rc);

    if (!CreateControl(CLSID_WebBrowser, NULL, 
            WS_VISIBLE | WS_CHILD, rcClient, pParent, AFX_IDW_PANE_FIRST)) {
        TRACE0("Unable to create control");
        return false;
    }

    LPUNKNOWN lpUnk = GetControlUnknown();
    HRESULT hr = lpUnk->QueryInterface(IID_IWebBrowser2, (void**) &m_pBrowser);
    if (FAILED(hr)) {
        m_pBrowser = NULL;
        TRACE0("Unable to create web browser");
        return false;
    }

    return true;
}
HRESULT CPouVarSelCtrlWrapper::SetVarSelectionHint(const CString& strPouName,
                                                   const CString& strVarNamePrefix,
                                                   const CString& strDataType)
{
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        CComBSTR sPouName(strPouName);
        CComBSTR sVarNamePrefix(strVarNamePrefix);
        CComBSTR sDataType(strDataType);
        return m_pPouVarSel->SetVarSelectionHint(sPouName, sVarNamePrefix,
                                                 sDataType);
    }
}
HRESULT CPouVarSelCtrlWrapper::ShowVarSelection(const CString& strPouName)
{
	/*static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 sPouName);
         */
    if (!m_pPouVarSel)
    {
        IUnknown* pUnk = GetControlUnknown();
        ASSERT(pUnk);
        m_pPouVarSel = pUnk;
        ASSERT(!(!m_pPouVarSel));
    }
    if (!m_pPouVarSel)
    {
        return E_FAIL;
    }
    else
    {
        CComBSTR sName(strPouName);
        return m_pPouVarSel->ShowVarSelection(sName);
    }
}