Пример #1
0
STDMETHODIMP 
CXRefreshToolbar::GetBandInfo(DWORD dwBandId, DWORD dwViewMode, DESKBANDINFO *pdbi)
{
	DT(TRACE_I(FS(_T("Toolbar[%08X]: GetBandInfo(...)"), this)));
	try
	{
		if( pdbi == NULL )
			return E_INVALIDARG;

		m_dwBandId = dwBandId;
		m_dwViewMode = dwViewMode;

		if( pdbi->dwMask & DBIM_MINSIZE )
		{
			pdbi->ptMinSize = GetMinSize();
		}

		if( pdbi->dwMask & DBIM_MAXSIZE )
		{
			pdbi->ptMaxSize = GetMaxSize();
		}

		if( pdbi->dwMask & DBIM_INTEGRAL )
		{
			pdbi->ptIntegral.x = 1;
			pdbi->ptIntegral.y = 1;
		}

		if( pdbi->dwMask & DBIM_ACTUAL )
		{
			pdbi->ptActual = GetActualSize();
		}

		if( pdbi->dwMask & DBIM_TITLE )
		{
			wcscpy_s(pdbi->wszTitle, GetTitle());
		}

		if( pdbi->dwMask & DBIM_MODEFLAGS )
		{
			pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_USECHEVRON;
		}

		if( pdbi->dwMask & DBIM_BKCOLOR )
		{
			// use the default background color by removing this flag
			pdbi->dwMask &= ~DBIM_BKCOLOR;
		}

		return S_OK;
	}
	catch (CXRefreshRuntimeError &ex)
	{
		HandleError(ex.ErrorMessage());
		return E_FAIL;
	}
}
Пример #2
0
STDMETHODIMP 
CUpgradrHelperbar::GetBandInfo(DWORD dwBandId, DWORD dwViewMode, DESKBANDINFO *pdbi)
{
	DT(TRACE_I(FS(_T("Helperbar[%08X]: GetBandInfo(...)"), this)));
	if (!pdbi) return E_INVALIDARG;
	m_BandId = dwBandId;
	m_ViewMode = dwViewMode;

	if( pdbi->dwMask & DBIM_MINSIZE )
	{
		pdbi->ptMinSize = GetMinSize();
	}

	if( pdbi->dwMask & DBIM_MAXSIZE )
	{
		pdbi->ptMaxSize = GetMaxSize();
	}

	if( pdbi->dwMask & DBIM_INTEGRAL )
	{
		pdbi->ptIntegral.x = 1;
		pdbi->ptIntegral.y = 1;
	}

	if( pdbi->dwMask & DBIM_ACTUAL )
	{
		pdbi->ptActual = GetActualSize();
	}

	if( pdbi->dwMask & DBIM_TITLE )
	{
		wcscpy_s(pdbi->wszTitle, GetTitle());
	}

	if( pdbi->dwMask & DBIM_MODEFLAGS )
	{
		pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_VARIABLEHEIGHT | DBIMF_DEBOSSED;
	}

	if( pdbi->dwMask & DBIM_BKCOLOR )
	{
		//Use the default background color by removing this flag.
		pdbi->dwMask &= ~DBIM_BKCOLOR;
	}
	return S_OK;
}