Пример #1
0
STDMETHODIMP CActiveXCtrl::GetExtendedControl(IDispatch** ppDisp)        
{
    DUITRACE(_T("AX: CActiveXCtrl::GetExtendedControl"));
    if( ppDisp == NULL ) return E_POINTER;   
    if( m_pOwner == NULL ) return E_UNEXPECTED;
    if( m_pOwner->m_pUnk == NULL ) return E_UNEXPECTED;
    return m_pOwner->m_pUnk->QueryInterface(IID_IDispatch, (LPVOID*) ppDisp);
}
Пример #2
0
STDMETHODIMP CActiveXCtrl::SetFocus(BOOL fFocus)
{
    DUITRACE(_T("AX: CActiveXCtrl::SetFocus"));
    if( m_pOwner == NULL ) return E_UNEXPECTED;
    if( fFocus ) m_pOwner->SetFocus();
    m_bFocused = (fFocus == TRUE);
    return S_OK;
}
Пример #3
0
STDMETHODIMP CActiveXCtrl::SetCapture(BOOL fCapture)
{
    DUITRACE(_T("AX: CActiveXCtrl::SetCapture"));
    if( m_pOwner == NULL ) return E_UNEXPECTED;
    m_bCaptured = (fCapture == TRUE);
    if( fCapture ) ::SetCapture(m_pOwner->m_hwndHost); else ::ReleaseCapture();
    return S_OK;
}
Пример #4
0
STDMETHODIMP CActiveXCtrl::GetSite(REFIID riid, LPVOID* ppvSite)
{
    DUITRACE(_T("AX: CActiveXCtrl::GetSite"));
    if( ppvSite == NULL ) return E_POINTER;
    *ppvSite = NULL;
    if( m_pUnkSite == NULL ) return E_FAIL;
    return m_pUnkSite->QueryInterface(riid, ppvSite);
}
Пример #5
0
STDMETHODIMP CActiveXCtrl::EnumObjects(DWORD grfFlags, IEnumUnknown** ppenum)
{
    DUITRACE(_T("AX: CActiveXCtrl::EnumObjects"));
    if( ppenum == NULL ) return E_POINTER;
    if( m_pOwner == NULL ) return E_UNEXPECTED;
    *ppenum = new CActiveXEnum(m_pOwner->m_pUnk);
    return S_OK;
}
Пример #6
0
	STDMETHODIMP CActiveXCtrl::GetWindow(HWND* phwnd)
	{
		DUITRACE(_T("AX: CActiveXCtrl::GetWindow"));
		if( m_pOwner == NULL ) return E_UNEXPECTED;
		if( m_pOwner->m_hwndHost == NULL ) CreateActiveXWnd();
		if( m_pOwner->m_hwndHost == NULL ) return E_FAIL;
		*phwnd = m_pOwner->m_hwndHost;
		return S_OK;
	}
Пример #7
0
	STDMETHODIMP CActiveXCtrl::ShowObject(void)
	{
		DUITRACE(_T("AX: CActiveXCtrl::ShowObject"));
		if( m_pOwner == NULL ) return E_UNEXPECTED;
		HDC hDC = ::GetDC(m_pOwner->m_hwndHost);
		if( hDC == NULL ) return E_FAIL;
		if( m_pViewObject != NULL ) m_pViewObject->Draw(DVASPECT_CONTENT, -1, NULL, NULL, NULL, hDC, (RECTL*) &m_pOwner->m_rcItem, (RECTL*) &m_pOwner->m_rcItem, NULL, NULL);
		::ReleaseDC(m_pOwner->m_hwndHost, hDC);
		return S_OK;
	}
Пример #8
0
	STDMETHODIMP CActiveXCtrl::GetContainer(IOleContainer** ppContainer)
	{
		DUITRACE(_T("AX: CActiveXCtrl::GetContainer"));
		if( ppContainer == NULL ) return E_POINTER;
		*ppContainer = NULL;
		HRESULT Hr = E_NOTIMPL;
		if( m_pUnkSite != NULL ) Hr = m_pUnkSite->QueryInterface(IID_IOleContainer, (LPVOID*) ppContainer);
		if( FAILED(Hr) ) Hr = QueryInterface(IID_IOleContainer, (LPVOID*) ppContainer);
		return Hr;
	}
Пример #9
0
LRESULT WindowImplBase::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	SIZE szRoundCorner = m_PaintManager.GetRoundCorner();
	if( !::IsIconic(*this) && (szRoundCorner.cx != 0 || szRoundCorner.cy != 0) ) {
		CDuiRect rcWnd;
		::GetWindowRect(*this, &rcWnd);
		rcWnd.Offset(-rcWnd.left, -rcWnd.top);
		rcWnd.right++; rcWnd.bottom++;
		HRGN hRgn = ::CreateRoundRectRgn(rcWnd.left, rcWnd.top, rcWnd.right, rcWnd.bottom, szRoundCorner.cx, szRoundCorner.cy);
		::SetWindowRgn(*this, hRgn, TRUE);
		::DeleteObject(hRgn);
	}
	CDuiRect rcWnd;
	::GetWindowRect(*this, &rcWnd);
	DUITRACE(_T("WinImplBase::OnSize(), width = %d, height = %d"), rcWnd.right - rcWnd.left, rcWnd.bottom - rcWnd.top);
	DUITRACE(_T("WinImplBase::OnSize(): %d, width = %d, height = %d"), wParam, LOWORD(lParam), HIWORD(lParam));

	bHandled = FALSE;
	return 0;
}
Пример #10
0
	STDMETHODIMP CActiveXCtrl::SetSite(IUnknown *pUnkSite)
	{
		DUITRACE(_T("AX: CActiveXCtrl::SetSite"));
		if( m_pUnkSite != NULL ) {
			m_pUnkSite->Release();
			m_pUnkSite = NULL;
		}
		if( pUnkSite != NULL ) {
			m_pUnkSite = pUnkSite;
			m_pUnkSite->AddRef();
		}
		return S_OK;
	}
Пример #11
0
STDMETHODIMP CActiveXCtrl::GetDC(LPCRECT pRect, DWORD grfFlags, HDC* phDC)
{
    DUITRACE(_T("AX: CActiveXCtrl::GetDC"));
    if( phDC == NULL ) return E_POINTER;
    if( m_pOwner == NULL ) return E_UNEXPECTED;
    *phDC = ::GetDC(m_pOwner->m_hwndHost);
    if( (grfFlags & OLEDC_PAINTBKGND) != 0 ) {
        CDuiRect rcItem = m_pOwner->GetPos();
        if( !m_bWindowless ) rcItem.ResetOffset();
        ::FillRect(*phDC, &rcItem, (HBRUSH) (COLOR_WINDOW + 1));
    }
    return S_OK;
}
Пример #12
0
LRESULT CStockBuyUI::OnOrderReq(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
	ASSERT(wParam);
	int i = static_cast<int>(lParam);

	CListTextElementUI* pElem = reinterpret_cast<CListTextElementUI*>(wParam);
	std::string sContractNumber = Base::CharacterSet::UnicodeToANSI(pElem->GetText(9));		
	//iterOrderNumber iter = std::find(vecOrderNumber.begin(), vecOrderNumber.end(), sContractNumber);
	//ASSERT(iter);
	//vecOrderNumber.erase(iter);

	DUITRACE(_T("new a order bussiness request, send to sdk."));
	return 0;
}
Пример #13
0
	STDMETHODIMP CActiveXCtrl::OnInPlaceDeactivateEx(BOOL fNoRedraw)       
	{
		DUITRACE(_T("AX: CActiveXCtrl::OnInPlaceDeactivateEx"));
		m_bInPlaceActive = false;
		if( m_pInPlaceObject != NULL ) {
			m_pInPlaceObject->Release();
			m_pInPlaceObject = NULL;
		}
		if( m_pWindow != NULL ) {
			::DestroyWindow(*m_pWindow);
			delete m_pWindow;
			m_pWindow = NULL;
		}
		return S_OK;
	}
Пример #14
0
	STDMETHODIMP CActiveXCtrl::GetWindowContext(IOleInPlaceFrame** ppFrame, IOleInPlaceUIWindow** ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
	{
		DUITRACE(_T("AX: CActiveXCtrl::GetWindowContext"));
		if( ppDoc == NULL ) return E_POINTER;
		if( ppFrame == NULL ) return E_POINTER;
		if( lprcPosRect == NULL ) return E_POINTER;
		if( lprcClipRect == NULL ) return E_POINTER;
		if (m_pWindow)
		{
			::GetClientRect(m_pWindow->GetHWND(),lprcPosRect);
			::GetClientRect(m_pWindow->GetHWND(),lprcClipRect);
		}
		*ppFrame = new CActiveXFrameWnd(m_pOwner);
		*ppDoc = NULL;
		ACCEL ac = { 0 };
		HACCEL hac = ::CreateAcceleratorTable(&ac, 1);
		lpFrameInfo->cb = sizeof(OLEINPLACEFRAMEINFO);
		lpFrameInfo->fMDIApp = FALSE;
		lpFrameInfo->hwndFrame = m_pOwner->GetManager()->GetPaintWindow();
		lpFrameInfo->haccel = hac;
		lpFrameInfo->cAccelEntries = 1;
		return S_OK;
	}
Пример #15
0
	STDMETHODIMP CActiveXCtrl::TransformCoords(POINTL* pPtlHimetric, POINTF* pPtfContainer, DWORD dwFlags)       
	{
		DUITRACE(_T("AX: CActiveXCtrl::TransformCoords"));
		return S_OK;
	}
Пример #16
0
	STDMETHODIMP CActiveXCtrl::OnControlInfoChanged(void)      
	{
		DUITRACE(_T("AX: CActiveXCtrl::OnControlInfoChanged"));
		return S_OK;
	}
Пример #17
0
	STDMETHODIMP CActiveXCtrl::LockInPlaceActive(BOOL fLock)       
	{
		DUITRACE(_T("AX: CActiveXCtrl::LockInPlaceActive"));
		return S_OK;
	}
Пример #18
0
	STDMETHODIMP CActiveXCtrl::TranslateAccelerator(MSG *pMsg, DWORD grfModifiers)
	{
		DUITRACE(_T("AX: CActiveXCtrl::TranslateAccelerator"));
		return S_FALSE;
	}
Пример #19
0
	STDMETHODIMP CActiveXCtrl::ContextSensitiveHelp(BOOL fEnterMode)
	{
		DUITRACE(_T("AX: CActiveXCtrl::ContextSensitiveHelp"));
		return S_OK;
	}
Пример #20
0
	STDMETHODIMP CActiveXCtrl::OnPosRectChange(LPCRECT lprcPosRect)
	{
		DUITRACE(_T("AX: CActiveXCtrl::OnPosRectChange"));
		return E_NOTIMPL;
	}
Пример #21
0
	STDMETHODIMP CActiveXCtrl::DeactivateAndUndo(void)
	{
		DUITRACE(_T("AX: CActiveXCtrl::DeactivateAndUndo"));
		return E_NOTIMPL;
	}
Пример #22
0
	STDMETHODIMP CActiveXCtrl::DiscardUndoState(void)
	{
		DUITRACE(_T("AX: CActiveXCtrl::DiscardUndoState"));
		return E_NOTIMPL;
	}
Пример #23
0
	STDMETHODIMP CActiveXCtrl::ShowPropertyFrame(void)
	{
		DUITRACE(_T("AX: CActiveXCtrl::ShowPropertyFrame"));
		return E_NOTIMPL;
	}
Пример #24
0
	STDMETHODIMP CActiveXCtrl::ParseDisplayName(IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut)
	{
		DUITRACE(_T("AX: CActiveXCtrl::ParseDisplayName"));
		return E_NOTIMPL;
	}
Пример #25
0
	STDMETHODIMP CActiveXCtrl::OnFocus(BOOL fGotFocus)
	{
		DUITRACE(_T("AX: CActiveXCtrl::OnFocus"));
		m_bFocused = (fGotFocus == TRUE);
		return S_OK;
	}
Пример #26
0
	STDMETHODIMP CActiveXCtrl::Scroll(SIZE scrollExtant)
	{
		DUITRACE(_T("AX: CActiveXCtrl::Scroll"));
		return E_NOTIMPL;
	}
Пример #27
0
	STDMETHODIMP CActiveXCtrl::LockContainer(BOOL fLock)
	{
		DUITRACE(_T("AX: CActiveXCtrl::LockContainer"));
		m_bLocked = fLock != FALSE;
		return S_OK;
	}
Пример #28
0
	STDMETHODIMP CActiveXCtrl::OnUIDeactivate(BOOL fUndoable)
	{
		DUITRACE(_T("AX: CActiveXCtrl::OnUIDeactivate"));
		m_bUIActivated = false;
		return S_OK;
	}
Пример #29
0
	void CDuiHeaderCtrl::OnMouseMove( UINT nFlags,CPoint pt )
	{
		if(m_bDragging || nFlags&MK_LBUTTON)
		{
			if(!m_bDragging)
			{
				m_bDragging=TRUE;
				if(IsItemHover(m_dwHitTest) && m_bItemSwapEnable)
				{
					m_dwDragTo=m_dwHitTest;
					CRect rcItem=GetItemRect(LOWORD(m_dwHitTest));
					DrawDraggingState(m_dwDragTo);
					m_hDragImg=CreateDragImage(LOWORD(m_dwHitTest));
					CPoint pt=m_ptClick-rcItem.TopLeft();
					CDragWnd::BeginDrag(m_hDragImg,pt,0,128,LWA_ALPHA|LWA_COLORKEY);
				}
			}
			if(IsItemHover(m_dwHitTest))
			{
				if(m_bItemSwapEnable)
				{
					DWORD dwDragTo=HitTest(pt);
					CPoint pt2(pt.x,m_ptClick.y);
					ClientToScreen(GetContainer()->GetHostHwnd(),&pt2);
					if(IsItemHover(dwDragTo) && m_dwDragTo!=dwDragTo)
					{
						m_dwDragTo=dwDragTo;
						DUITRACE(_T("\n!!! dragto %d"),LOWORD(dwDragTo));
						DrawDraggingState(dwDragTo);
					}
					CDragWnd::DragMove(pt2);
				}
			}else if(m_dwHitTest!=-1)
			{//调节宽度
				int cxNew=m_nAdjItemOldWidth+pt.x-m_ptClick.x;
				if(cxNew<0) cxNew=0;
				m_arrItems[LOWORD(m_dwHitTest)].cx=cxNew;
				NotifyInvalidate();
				GetContainer()->DuiUpdateWindow();//立即更新窗口
				//发出调节宽度消息
				DUINMHDSIZECHANGING	nm;
				nm.hdr.hDuiWnd=m_hDuiWnd;
				nm.hdr.code=DUINM_HDSIZECHANGING;
				nm.hdr.idFrom=GetCmdID();
				nm.hdr.pszNameFrom=GetName();
				nm.nWidth=cxNew;
				DuiNotify((LPDUINMHDR)&nm);
			}
		}else
		{
			DWORD dwHitTest=HitTest(pt);
			if(dwHitTest!=m_dwHitTest)
			{
				if(m_bSortHeader)
				{
					if(IsItemHover(m_dwHitTest))
					{
						WORD iHover=LOWORD(m_dwHitTest);
						m_arrItems[iHover].state=0;
						RedrawItem(iHover);
					}
					if(IsItemHover(dwHitTest))
					{
						WORD iHover=LOWORD(dwHitTest);
						m_arrItems[iHover].state=1;//hover
						RedrawItem(iHover);
					}
				}
				m_dwHitTest=dwHitTest;
			}
		}
		
	}
Пример #30
0
	STDMETHODIMP CActiveXCtrl::OnInPlaceDeactivate(void)
	{
		DUITRACE(_T("AX: CActiveXCtrl::OnInPlaceDeactivate"));
		return OnInPlaceDeactivateEx(TRUE);
	}