コード例 #1
0
//*********************************************************************************
BOOL CBCGPOutlookBar::Create(LPCTSTR lpszCaption, CWnd* pParentWnd, 
							 const RECT& rect, UINT nID, 
							 DWORD dwStyle, DWORD dwBCGStyle, CCreateContext* pContext)
{
	BOOL bResult = CBCGPBaseTabbedBar::Create (lpszCaption, pParentWnd, rect, 
												FALSE, nID, dwStyle, 
												CBRS_BCGP_OUTLOOK_TABS, dwBCGStyle, pContext);
	if (!bResult)
	{
		TRACE0("Failed to create CBCGPOutlookBar\n");
		return FALSE;
	}

	if (dwBCGStyle & CBRS_BCGP_RESIZE)
	{
		EnableDocking (CBRS_ALIGN_ANY);
		DockControlBarMap (FALSE);
	}
	else
	{
		CBCGPDockManager* pManager = globalUtils.GetDockManager (pParentWnd);
		if (pManager != NULL)
		{
			pManager->AddControlBar (this);
		}
	}

	if (lpszCaption != NULL)
	{
		m_strBarName = lpszCaption;
	}

	return TRUE;
}
コード例 #2
0
int CBCGPPrintPreviewView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CPreviewView::OnCreate(lpCreateStruct) == -1)
	{
		if (g_pPrintPreviewlocaRes != NULL)
		{
			delete g_pPrintPreviewlocaRes;
			g_pPrintPreviewlocaRes = NULL;
		}

		return -1;
	}

	g_pActivePrintPreview = this;

	ASSERT_VALID (m_pToolBar);

	CFrameWnd* pParentFrame = BCGPGetParentFrame (this);
	ASSERT_VALID (pParentFrame);

	CFrameWnd* pToplevelFrame = pParentFrame;

	if (pToplevelFrame->IsKindOf (RUNTIME_CLASS (CBCGPMDIChildWnd)))
	{
		pToplevelFrame = pToplevelFrame->GetTopLevelFrame ();
	}

#ifndef BCGP_EXCLUDE_RIBBON

	m_pWndRibbonBar = DYNAMIC_DOWNCAST (CBCGPRibbonBar,
		pToplevelFrame->GetDlgItem (AFX_IDW_RIBBON_BAR));

	if (m_pWndRibbonBar != NULL && m_pWndRibbonBar->IsVisible())
	{
		m_pWndRibbonBar->SetPrintPreviewMode ();
	}
	else
#endif
	{
		const UINT uiToolbarHotID = globalData.Is32BitIcons () ? IDR_BCGRES_PRINT_PREVIEW32 : 0;

		if (!m_wndToolBar.Create (m_pToolBar) ||
			!m_wndToolBar.LoadToolBar(	IDR_BCGRES_PRINT_PREVIEW, 0, 0, TRUE /* Locked */, 
										0, 0, uiToolbarHotID))
		{
			TRACE0("Failed to create print preview toolbar\n");
			return FALSE;      // fail to create
		}

		m_wndToolBar.SetOwner (this);

		//-------------------------------------------
		// Remember One Page/Two pages image indexes:
		//-------------------------------------------
		m_iPagesBtnIndex = m_wndToolBar.CommandToIndex (AFX_ID_PREVIEW_NUMPAGE);
		ASSERT (m_iPagesBtnIndex >= 0);
		
		CBCGPToolbarButton* pButton= m_wndToolBar.GetButton (m_iPagesBtnIndex);
		ASSERT_VALID (pButton);

		m_iOnePageImageIndex = pButton->GetImage ();

		int iIndex = m_wndToolBar.CommandToIndex (ID_BCGRES_TWO_PAGES_DUMMY);
		ASSERT (iIndex >= 0);
		
		pButton= m_wndToolBar.GetButton (iIndex);
		ASSERT_VALID (pButton);

		m_iTwoPageImageIndex = pButton->GetImage ();

		//---------------------------------
		// Remove dummy "Two pages" button:
		//---------------------------------
		m_wndToolBar.RemoveButton (iIndex);

		//------------------------------------
		// Set "Print" button to image + text:
		//------------------------------------
		m_wndToolBar.SetToolBarBtnText (m_wndToolBar.CommandToIndex (AFX_ID_PREVIEW_PRINT));

		//---------------------------------
		// Set "Close" button to text only:
		//---------------------------------
		m_wndToolBar.SetToolBarBtnText (m_wndToolBar.CommandToIndex (AFX_ID_PREVIEW_CLOSE),
			NULL, TRUE, FALSE);

		CBCGPDockManager* pDockManager = globalUtils.GetDockManager (pParentFrame);
		ASSERT_VALID (pDockManager);			
		pDockManager->AddControlBar (&m_wndToolBar, FALSE);

		//-------------------------
		// Change the Toolbar size:
		//-------------------------
		if (!m_bScaleLargeImages && m_wndToolBar.m_bLargeIcons)
		{
			m_wndToolBar.m_sizeCurButtonLocked = m_wndToolBar.m_sizeButtonLocked;
			m_wndToolBar.m_sizeCurImageLocked = m_wndToolBar.m_sizeImageLocked;
		}

		SetToolbarSize ();
	}

	//-------------------------------------------
	// Set Application Status Bar to Simple Text:
	//-------------------------------------------
	m_pWndStatusBar = DYNAMIC_DOWNCAST (CBCGPStatusBar,
		pToplevelFrame->GetDlgItem (AFX_IDW_STATUS_BAR));

	if (m_pWndStatusBar != NULL)
	{
		//-------------------------------------
		// Set Simple Pane Style to No Borders:
		//-------------------------------------
		m_pWndStatusBar->SetPaneText (iSimplePaneIndex, NULL);
	}

	if (g_pPrintPreviewlocaRes != NULL)
	{
		delete g_pPrintPreviewlocaRes;
		g_pPrintPreviewlocaRes = NULL;
	}

	return 0;
}