示例#1
0
//*****************************************************************************
void CMacStyle::DrawNcBtn (CDC* pDC, const CRect& rect, UINT nButton, 
										BCGBUTTON_STATE state, 
										BOOL bActive)
{
	ASSERT_VALID (pDC);

	CBCGPToolBarImages* pImage = NULL;

	if (nButton == SC_CLOSE)
	{
		pImage = &m_SysBtnClose;
	}
	else if (nButton == SC_MINIMIZE)
	{
		pImage = &m_SysBtnMinimize;
	}
	else if (nButton == SC_MAXIMIZE)
	{
		pImage = &m_SysBtnMaximize;
	}
	else if (nButton == SC_RESTORE)
	{
		pImage = &m_SysBtnRestore;
	}
	else
	{
		return;
	}

	CBCGPToolBarImages::ImageAlignHorz horz = CBCGPToolBarImages::ImageAlignHorzCenter;
	CBCGPToolBarImages::ImageAlignVert vert = CBCGPToolBarImages::ImageAlignVertCenter;

	CRect rtBtnImage (CPoint (0, 0), pImage->GetImageSize ());

	if (!bActive)
	{
		rtBtnImage.OffsetRect (0, pImage->GetImageSize ().cy);
	}

	int index = 0;
	if (!bActive)
	{
		index = 3;
	}
	else if (state != ButtonsIsRegular)
	{
		if (state == ButtonsIsPressed)
		{
			index = 2;
		}
		else
		{
			index = 1;
		}
	}

	m_ctrlSysBtnBack.Draw (pDC, rect, index);

	pImage->DrawEx (pDC, rect, 0, horz, vert, rtBtnImage);
}
示例#2
0
BOOL CBCGPMSMToolBar::DrawButton(CDC* pDC, CBCGPToolbarButton* pButton,
							CBCGPToolBarImages* pImages,
							BOOL bHighlighted, BOOL bDrawDisabledImages)
{
	ASSERT_VALID (pDC);
	ASSERT_VALID (pButton);

	CBCGPToolBarImages* pNewImages = pImages;

	CBCGPDrawState ds;

	if (!m_bMenuMode && (pButton->m_nStyle & (TBBS_PRESSED)) && 
		m_PressedImages.GetCount () > 0)
	{
		pNewImages = &m_PressedImages;
	
		pNewImages->SetTransparentColor (globalData.clrBtnFace);

		pNewImages->PrepareDrawImage (ds, GetImageSize (), FALSE);
	}

	if (!CBCGPToolBar::DrawButton (pDC, pButton, pNewImages, bHighlighted, 
			bDrawDisabledImages))
	{
		return FALSE;
	}

	if (pNewImages != pImages)
	{
		pNewImages->EndDrawImage (ds);
	}

	return TRUE;
}
BOOL CBCGPRibbonInfoLoader::LoadImage (const CBCGPRibbonInfo::XID& id, CBCGPToolBarImages& image, BOOL bSingle)
{
    if (id.IsEmpty ())
    {
        return TRUE;
    }

    if (id.m_Value > 0)
    {
        image.Load (id.m_Value, GetInstance ());
    }

    if (!image.IsValid () && !id.m_Name.IsEmpty ())
    {
        image.LoadStr (id.m_Name, GetInstance ());
    }

    if (image.IsValid ())
    {
        if (bSingle)
        {
            image.SetSingleImage ();
        }

        return TRUE;
    }

    return FALSE;
}
示例#4
0
void CVisualManager::DrawNcBtn (CDC* pDC, const CRect& rect, UINT nButton, 
										BCGBUTTON_STATE state, BOOL /*bSmall*/, 
										BOOL bActive, BOOL /*bMDI*/)
{
	ASSERT_VALID (pDC);

	CBCGPToolBarImages* pImage = NULL;

	int nIndex = 1;

	if (nButton == SC_CLOSE)
	{
		pImage = &m_SysBtnClose;
		nIndex = 3;
	}
	else if (nButton == SC_MINIMIZE)
	{
		pImage = &m_SysBtnMinimize;
		nIndex = 1;
	}
	else if (nButton == SC_MAXIMIZE)
	{
		pImage = &m_SysBtnMaximize;
		nIndex = 2;
	}
	else if (nButton == SC_RESTORE)
	{
		pImage = &m_SysBtnRestore;
		nIndex = 2;
	}
	else
	{
		return;
	}

	if (bActive)
	{
		if (state != ButtonsIsRegular)
		{
			m_SysBtnBack[nIndex].DrawEx (pDC, rect, state == ButtonsIsHighlighted ? 0 : 1,
				CBCGPToolBarImages::ImageAlignHorzLeft, CBCGPToolBarImages::ImageAlignVertTop);
		}
	}

	pImage->DrawEx (pDC, rect, 0, 
		CBCGPToolBarImages::ImageAlignHorzCenter, CBCGPToolBarImages::ImageAlignVertTop);
}
//*******************************************************************
void CButtonAppearanceDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

	if (m_pUserTool != NULL)
	{
		m_pUserTool->DrawToolIcon (&dc, m_rectDefaultImage);
		return;
	}

	if (m_pButton->IsLocked ())
	{
		BOOL bText = m_pButton->m_bText;
		BOOL bImage = m_pButton->m_bImage;

		m_pButton->m_bText = FALSE;
		m_pButton->m_bImage = TRUE;

		m_pButton->OnDraw (&dc, m_rectDefaultImage, NULL, TRUE, FALSE, FALSE, FALSE, FALSE);

		m_pButton->m_bText = bText;
		m_pButton->m_bImage = bImage;

		return;
	}

	int iImage = CBCGPToolBar::GetDefaultImage (m_pButton->m_nID);
	if (iImage < 0 || !m_bImage)
	{
		return;
	}

	CBCGPToolBarImages* pImages = CBCGPToolBar::GetImages ();
	ASSERT (pImages != NULL);

	CBCGPDrawState ds(CBCGPVisualManager::GetInstance()->IsAutoGrayscaleImages());
	pImages->PrepareDrawImage (ds, m_rectDefaultImage.Size ());
	
	pImages->Draw (&dc, m_rectDefaultImage.left, m_rectDefaultImage.top, iImage);
	pImages->EndDrawImage (ds);
}
示例#6
0
//***********************************************************************************
void CBCGPMenuImages::SetColor (CBCGPMenuImages::IMAGE_STATE state,
							COLORREF color)
{
	Initialize ();

	CBCGPLocalResource locaRes;

	CBCGPToolBarImages imagesTmp;

	imagesTmp.SetImageSize (CSize (iImageWidth, iImageHeight));
	imagesTmp.Load (globalData.Is32BitIcons () ? IDB_BCGBARRES_MENU_IMAGES24 : IDB_BCGBARRES_MENU_IMAGES);
	imagesTmp.SetTransparentColor (clrTransparent);

#ifndef _BCGSUITE_
	if (imagesTmp.IsRTL ())
	{
		CBCGPToolBarImages::MirrorBitmap (imagesTmp.m_hbmImageWell, imagesTmp.GetImageSize ().cx);
	}
#endif

	CBCGPToolBarImages& images = (state == ImageBlack) ? m_ImagesBlack :
					(state == ImageGray) ? m_ImagesGray : 
					(state == ImageDkGray) ? m_ImagesDkGray : 
					(state == ImageLtGray) ? m_ImagesLtGray : 
					(state == ImageWhite) ? m_ImagesWhite : m_ImagesBlack2;

	if (color != (COLORREF)-1)
	{
		imagesTmp.MapTo3dColors (TRUE, RGB (0, 0, 0), color);
	}

#ifndef _BCGSUITE_
	if (!m_bInitializing)
	{
		imagesTmp.SmoothResize (globalData.GetRibbonImageScale ());
	}
#endif

	images.Clear ();
	imagesTmp.CopyTo (images);
}
示例#7
0
HICON CBCGPGlobalUtils::GrayIcon(HICON hIcon)
{
	if (hIcon == NULL)
	{
		return NULL;
	}

#ifdef _BCGSUITE_
	return ::CopyIcon(hIcon);
#else
	HBITMAP hBmp = BCGPIconToBitmap32 (hIcon);

	BITMAP bmp;
	::GetObject (hBmp, sizeof (BITMAP), (LPVOID) &bmp);

	CBCGPToolBarImages images;
	images.SetImageSize (CSize (bmp.bmWidth, bmp.bmHeight));

	images.AddImage(hBmp, TRUE);
	images.ConvertToGrayScale();
	return images.ExtractIcon(0);

#endif
}
void CCollectionsComboBox::Initialize(long selectCollection,  UINT include)
{
	if(m_nIsForLibrary == 1)
	{
		return;
	}
	CBCGPToolBarImages lImages;
	m_ImageList = new CImageList;	
	lImages.SetImageSize(CSize(16, 16));
	lImages.Load(IDB_COLLECTIONS_BMP);
	m_ImageList->Create(16, 16, ILC_COLOR32, lImages.GetCount(), 1);
	for (int i = 0; i < lImages.GetCount(); i++)
		m_ImageList->Add(lImages.ExtractIcon(i));

	SetImageList(m_ImageList);

	mSelectedCollection = selectCollection;

	if (include & includeLibrary)
		InitializeLibrary();
	if (include & includeCollections)
		InitializeCollections();

//#ifndef _FREE // Smart collections only for professional edition
	if (include & includeSmartCollections)
		InitializeSmartCollections();
//#endif
	int i = -1;
	if (include & includeCurrentSelection)
	{
		i = AddCollectionItem(_T("Current selection"), -1, 0, FILTERTREE_CURRENT_SELECTION);
		SetItemItalic(i, true);
	}

	if (GetCurSel() == -1)
		SetCurSel(0);
}
示例#9
0
//***********************************************************************************
void CBCGPMenuImages::CreateCopy (CBCGPToolBarImages& images, COLORREF clr)
{
	m_ImagesBlack.CopyTo (images);
	images.MapTo3dColors (TRUE, RGB (0, 0, 0), clr);
}
BOOL CBCGPTagManager::ParseToolBarImages (const CString& strItem, CBCGPToolBarImages& value, LPCTSTR lpszID)
{
	CBCGPTagManager tm (strItem);

	CSize size (value.GetImageSize ());

	value.Clear ();
	value.SetTransparentColor ((COLORREF)(-1));

	tm.ReadSize (s_Size, size);

	BOOL bPreMultiplyCheck = TRUE;
	tm.ReadBool (s_PreMltCheck, bPreMultiplyCheck);

	value.SetPreMultiplyAutoCheck (bPreMultiplyCheck);

	if (size != CSize (0, 0))
	{
		value.SetImageSize (size);
	}

	value.LoadStr (lpszID);

	if (size == CSize (0, 0))
	{
		value.SetSingleImage ();
	}

	COLORREF clrTransparent = CLR_DEFAULT;
	if (tm.ReadColor (s_Transparent, clrTransparent))
	{
		value.SetTransparentColor (clrTransparent);
	}

#ifndef _BCGSUITE_
	if (m_clrBase != (COLORREF)-1 &&
		m_clrTarget != (COLORREF)-1)
	{
		value.AddaptColors (m_clrBase, m_clrTarget);
	}
#endif

    if (CBCGPToolBarImages::IsRTL () && value.GetImageWell () != NULL &&
		clrTransparent == CLR_DEFAULT)
    {
		BITMAP bmp;
		if (::GetObject (value.GetImageWell (), sizeof (BITMAP), &bmp) != 0)
		{
			if (bmp.bmBitsPixel == 32)
			{
				value.Mirror ();
			}
		}
	}

	return TRUE;
}
//******************************************************************************
void CBCGPRadialMenuItem::OnDrawIcon(CBCGPGraphicsManager* pGM, BOOL bIsCtrlDisabled, CBCGPImage& icons, CBCGPSize sizeIcon)
{
	ASSERT_VALID(pGM);

	if (m_ptCenter == CBCGPPoint(-1, -1))
	{
		return;
	}

	BOOL bIsDisabled = bIsCtrlDisabled || m_bIsDisabled;
	HICON hIcon = NULL;

	if (m_hIcon != NULL)
	{
		hIcon = m_hIcon;
	}
	else if (m_nImageIndex >= 0)
	{
		CBCGPPoint ptImage = m_ptCenter;
		ptImage.x -= .5 * sizeIcon.cx;
		ptImage.y -= .5 * sizeIcon.cy;

		pGM->DrawImage(icons, ptImage, sizeIcon, bIsDisabled ? .4 : 1., CBCGPImage::BCGP_IMAGE_INTERPOLATION_MODE_LINEAR,
			CBCGPRect(CBCGPPoint(sizeIcon.cx * m_nImageIndex, 0), sizeIcon));
	}
	else
	{
		// Try to obtain icon from ribbon/toolbars:
#ifndef _BCGSUITE_
#ifndef BCGP_EXCLUDE_RIBBON
		CFrameWnd* pParentFrame = DYNAMIC_DOWNCAST (CFrameWnd, AfxGetMainWnd());
		CBCGPRibbonBar* pRibbonBar = NULL;

		CBCGPMDIFrameWnd* pMainFrame = DYNAMIC_DOWNCAST (CBCGPMDIFrameWnd, pParentFrame);
		if (pMainFrame != NULL)
		{
			pRibbonBar = pMainFrame->GetRibbonBar();
		}
		else	// Maybe, SDI frame...
		{
			CBCGPFrameWnd* pFrame = DYNAMIC_DOWNCAST (CBCGPFrameWnd, pParentFrame);
			if (pFrame != NULL)
			{
				pRibbonBar = pFrame->GetRibbonBar();
			}
		}

		if (pRibbonBar != NULL)
		{
			ASSERT_VALID(pRibbonBar);

			hIcon = pRibbonBar->ExportImageToIcon(m_nID, FALSE);
		}
		else
#endif
#endif
		{
#ifndef _BCGSUITE_
			int nImage = CImageHash::GetImageOfCommand(m_nID, FALSE);
#else
			int nImage = GetCmdMgr ()->GetCmdImage(m_nID, FALSE);
#endif
			CBCGPToolBarImages* pImages = CBCGPToolBar::GetImages();
			if (pImages != NULL && nImage >= 0)
			{
				hIcon = pImages->ExtractIcon(nImage);
			}
		}

		if (hIcon != NULL)
		{
			m_hIcon = hIcon;
			m_bDestroyIcon = TRUE;
		}
	}

	if (hIcon != NULL)
	{
		CBCGPImage image(hIcon);

		sizeIcon = pGM->GetImageSize(image);
		
		CBCGPPoint ptImage = m_ptCenter;
		ptImage.x -= .5 * sizeIcon.cx;
		ptImage.y -= .5 * sizeIcon.cy;

		pGM->DrawImage(image, ptImage, CBCGPSize(), bIsDisabled ? .4 : 1);
	}
}
示例#12
0
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    // enable Windows XP look (in other OS Office XP look will be used):
    CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CVisualManager));

    CBCGPDockManager::SetDockMode (BCGP_DT_STANDARD);

    CBCGPToolBar::m_dblLargeImageRatio = 1.2;

    CBCGPToolBar::SetSizes (CSize (22, 22), CSize (16, 16));
    CBCGPToolBar::SetMenuSizes (CBCGPToolBar::GetMenuButtonSize (), CSize (16, 16));

    // Detect color depth. 256 color toolbars can be used in the
    // high or true color modes only (bits per pixel is > 8):
    CClientDC dc (this);
    theApp.m_nColorMode = (WORD)dc.GetDeviceCaps (BITSPIXEL);

    //-----------------------
    // Create the addressbar:
    //-----------------------
    CBCGPToolbarComboBoxButton::SetFlatMode (FALSE);
    CBCGPToolbarEditBoxButton::SetFlatMode (FALSE);

    m_wndAddressBar.EnableNavigationButtons (ID_GOTO_BACK, ID_GOTO_FORWARD, ID_GOTO_HISTORY, ID_VIEW_HISTORY, 0);

    if (!m_wndAddressBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
                                  | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
            !m_wndAddressBar.LoadToolBar (IDR_ADDRESS_BAR,
                                          theApp.m_nColorMode >= 16 ? IDB_ADDRESS_BAR : 0, 0, 0,
                                          theApp.m_nColorMode >= 16 ? IDB_ADDRESS_BAR_120 : 0))
    {
        TRACE0("Failed to create addressbar\n");
        return -1;      // fail to create
    }

    m_wndAddressBar.ReplaceButton (IDC_ADDRESS, CBCGPToolbarComboBoxButton (IDC_ADDRESS, -1, CBS_DROPDOWN));
    m_wndAddressBar.SetStretchID (IDC_ADDRESS);

    m_wndAddressBar.ReplaceButton (IDC_SEARCH, CBCGPToolbarEditBoxButton (IDC_SEARCH, -1));

    CMenu menu;
    VERIFY (menu.LoadMenu (IDR_SEARCH_POPUP));

    CMenu* pMenuSearch = menu.GetSubMenu (0);
    VERIFY (pMenuSearch != NULL);

    m_wndAddressBar.ReplaceButton (ID_GOTO_SEARCH,
                                   CBCGPToolbarMenuButton (ID_GOTO_SEARCH, pMenuSearch->GetSafeHmenu (), 4));

    //--------------------
    // Create the menubar:
    //--------------------
    if (!m_wndMenuBar.CreateEx (this, TBSTYLE_TRANSPARENT))
    {
        TRACE0("Failed to create menubar\n");
        return -1;      // fail to create
    }
    m_wndMenuBar.SetBarStyle ((m_wndMenuBar.GetBarStyle() & ~(CBRS_GRIPPER | CBRS_BORDER_ANY)) | CBRS_SIZE_DYNAMIC);
    m_wndMenuBar.EnableCustomizeButton (TRUE, (UINT)-1, _T(""));

    //------------------
    // Create links bar:
    //------------------

    if (!m_wndLinksBar.CreateEx (this, TBSTYLE_TRANSPARENT,
                                 dwDefaultToolbarStyle, CRect(0, 0, 0, 0), AFX_IDW_DIALOGBAR + 1))
    {
        TRACE0("Failed to create linksbar\n");
    }
    CString strLinksLabel;
    strLinksLabel.LoadString (IDS_LINKSBAR_NAME);
    m_wndLinksBar.SetWindowText (strLinksLabel);

    m_wndLinksBar.SetBarStyle (m_wndLinksBar.GetBarStyle() & ~(CBRS_GRIPPER | CBRS_BORDER_ANY));
    m_wndLinksBar.EnableCustomizeButton (TRUE, (UINT)-1, _T(""));

    //--------------
    // Create rebar:
    //--------------
    m_wndReBar.LockBars ();

    if (!m_wndReBar.Create(this) ||
            !m_wndReBar.AddBar(&m_wndMenuBar, NULL, NULL,
                               RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP | RBBS_BREAK | RBBS_HIDDEN) ||
            !m_wndReBar.AddBar(&m_wndLinksBar, strLinksLabel, NULL,
                               RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP | RBBS_BREAK))
    {
        TRACE0("Failed to create rebar\n");
        return -1;      // fail to create
    }

    m_wndMenuBar.AdjustLayout ();
    m_wndLinksBar.AdjustLayout ();

    //---------------
    // Create tabbar:
    //---------------
    if (!m_wndTabBar.Create (_T(""), this, FALSE, MAKEINTRESOURCE(IDD_TAB_BAR),
                             CBRS_SIZE_DYNAMIC | CBRS_ALIGN_TOP | CBRS_TOOLTIPS | CBRS_FLYBY, AFX_IDW_DIALOGBAR + 2,
                             CBRS_BCGP_REGULAR_TABS, 0))
    {
        TRACE0("Failed to create addressbar\n");
        return -1;      // fail to create
    }

    EnableDocking(CBRS_ALIGN_ANY);
    m_wndReBar.EnableDocking (CBRS_TOP);
    m_wndTabBar.EnableDocking (CBRS_TOP);
    DockControlBar (&m_wndReBar);
    DockControlBar (&m_wndTabBar);
    ShowControlBar (&m_wndMenuBar, FALSE, FALSE, FALSE);
    ShowControlBar (&m_wndTabBar, TRUE, FALSE, FALSE);

    //-------------------
    // Create status bar:
    //-------------------
    if (!m_wndStatusBar.Create(this) ||
            !m_wndStatusBar.SetIndicators(indicators,
                                          sizeof(indicators)/sizeof(UINT)))
    {
        TRACE0("Failed to create statusbar\n");
        return -1;      // fail to create
    }

    //------------------------------
    // First pane - image/animation:
    //------------------------------
    m_wndStatusBar.SetPaneStyle (nStatusInfo, SBPS_STRETCH | SBPS_NOBORDERS);
    m_wndStatusBar.SetPaneWidth (nStatusProgress, 80);

    m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() |
                             CBRS_TOOLTIPS | CBRS_FLYBY);
    m_wndLinksBar.SetBarStyle(m_wndLinksBar.GetBarStyle() |
                              CBRS_TOOLTIPS | CBRS_FLYBY);

    //-----------------------
    // Set up Favorites menu:
    //-----------------------
    VERIFY (theApp.m_Favorites.CreateMenu (m_menuFavotites));

    // Load control bar icons:
    CBCGPToolBarImages imagesExplorer;
    imagesExplorer.SetImageSize (CSize (16, 16));
    if (theApp.m_nColorMode >= 16)
    {
        imagesExplorer.SetTransparentColor (RGB (255, 0, 255));
    }
    imagesExplorer.Load
    (
        theApp.m_nColorMode >= 16
        ? IDB_EXPLORER_32
        : theApp.m_nColorMode >= 8
        ? IDB_EXPLORER_256
        : IDB_EXPLORER
    );

    if (!m_wndExplorer.Create (_T("Favorites Center"), this, CRect (0, 0, 200, 200),
                               TRUE, ID_VIEW_FAVORITES_CENTER,
                               WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
    {
        TRACE0("Failed to create Workspace bar\n");
        return -1;      // fail to create
    }

    m_wndExplorer.SetIcon (imagesExplorer.ExtractIcon (0), FALSE);

    m_wndExplorer.EnableDocking(CBRS_ALIGN_LEFT);

    EnableDocking(CBRS_ALIGN_ANY);
    EnableAutoHideBars(CBRS_ALIGN_ANY);
    DockControlBar (&m_wndExplorer);

    // Enable windows manager:
    EnableWindowsDialog (ID_WINDOW_MANAGER, IDS_WINDOWS_MANAGER, TRUE);

    UINT nTicID = 0;
    if (theApp.m_nColorMode >= 16)
    {
        nTicID = IDR_TOOLBAR_IC_32;
    }
    else if (theApp.m_nColorMode >= 8)
    {
        nTicID = IDR_TOOLBAR_IC_256;
    }

    CBCGPToolBar::AddToolBarForImageCollection (
        IDR_TOOLBAR_IC,		// Toolbar (need for map "Command - Image")
        nTicID,	 // "Hot" images
        nTicID,	 // "Cold" images
        nTicID); // Menu images

    EnableFullScreenMode(ID_VIEW_FULLSCREEN);

    return 0;
}
示例#13
0
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CBCGPMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	if (CBCGPToolBar::GetUserImages () == NULL)
	{
		// Load toolbar user images:
		if (!m_UserImages.Load (_T(".\\UserImages.bmp")))
		{
			TRACE(_T("Failed to load user images\n"));
		}
		else
		{
			CBCGPToolBar::SetUserImages (&m_UserImages);
		}
	}

	CBCGPToolBar::EnableQuickCustomization ();


	// TODO: Define your own basic commands. Be sure, that each pulldown 
	// menu have at least one basic command.

	CList<UINT, UINT>	lstBasicCommands;

//	lstBasicCommands.AddTail (ID_VIEW_TOOLBARS);
// 	lstBasicCommands.AddTail (ID_FILE_NEW);
// 	lstBasicCommands.AddTail (ID_FILE_OPEN);
// 	lstBasicCommands.AddTail (ID_FILE_SAVE);
// 	lstBasicCommands.AddTail (ID_FILE_PRINT);
	lstBasicCommands.AddTail (ID_APP_EXIT);
// 	lstBasicCommands.AddTail (ID_EDIT_CUT);
// 	lstBasicCommands.AddTail (ID_EDIT_PASTE);
// 	lstBasicCommands.AddTail (ID_EDIT_UNDO);
// 	lstBasicCommands.AddTail (ID_RECORD_NEXT);
// 	lstBasicCommands.AddTail (ID_RECORD_LAST);
	lstBasicCommands.AddTail (ID_APP_ABOUT);
	lstBasicCommands.AddTail (ID_VIEW_TOOLBAR);
	lstBasicCommands.AddTail (ID_VIEW_CUSTOMIZE);
	lstBasicCommands.AddTail (ID_WINDOW_TILE_HORZ);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_2000);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_XP);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_2003);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_2007);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_VS2005);
	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_WIN_XP);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_2007_1);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_2007_2);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_2007_3);
// 	lstBasicCommands.AddTail (ID_VIEW_APPLOOK_VS2008);

	CBCGPToolBar::SetBasicCommands (lstBasicCommands);

	if (!m_wndMenuBar.Create (this))
	{
		TRACE0("Failed to create menubar\n");
		return -1;      // fail to create
	}

	m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() | CBRS_SIZE_DYNAMIC);

	// Detect color depth. 256 color toolbars can be used in the
	// high or true color modes only (bits per pixel is > 8):
	CClientDC dc (this);
	BOOL bIsHighColor = dc.GetDeviceCaps (BITSPIXEL) > 8;

	UINT uiToolbarHotID = bIsHighColor ;

// 	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
// 		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
// 		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME_256, 0, 0, FALSE, 0, 0, uiToolbarHotID))
// 	{
// 		TRACE0("Failed to create toolbar\n");
// 		return -1;      // fail to create
// 	}
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
	{
		TRACE0("未能创建工具栏\n");
		return -1;      // 未能创建
	}

	CString strToolBarName;
	BOOL bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
	ASSERT(bNameValid);
	m_wndToolBar.SetWindowText(strToolBarName);
	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

	// Load control bar icons:
	CBCGPToolBarImages imagesWorkspace;
	imagesWorkspace.SetImageSize (CSize (16, 16));
	imagesWorkspace.SetTransparentColor (RGB (255, 0, 255));
	imagesWorkspace.Load (IDB_WORKSPACE);

	if (!m_wndWorkSpace.Create (_T("方案管理器"), this, CRect (0, 0, 200, 200),
		TRUE, ID_VIEW_WORKSPACE,
		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
	{
		TRACE0("Failed to create Workspace bar\n");
		return -1;      // fail to create
	}

	m_wndWorkSpace.SetIcon (imagesWorkspace.ExtractIcon (0), FALSE);

	if (!m_wndOutput.Create (_T("输出"), this, CSize (150, 150),
		TRUE /* Has gripper */, ID_VIEW_OUTPUT,
		WS_CHILD | WS_VISIBLE | CBRS_BOTTOM))
	{
		TRACE0("Failed to create output bar\n");
		return -1;      // fail to create
	}

	CString strMainToolbarTitle;
	strMainToolbarTitle.LoadString (IDS_MAIN_TOOLBAR);
	m_wndToolBar.SetWindowText (strMainToolbarTitle);

	// TODO: Delete these three lines if you don't want the toolbar to be dockable
	m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	m_wndWorkSpace.EnableDocking(CBRS_ALIGN_ANY);
	m_wndOutput.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	EnableAutoHideBars(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndMenuBar);
	DockControlBar(&m_wndToolBar);
	DockControlBar(&m_wndWorkSpace);
	DockControlBar(&m_wndOutput);


	m_wndToolBar.EnableCustomizeButton (TRUE, ID_VIEW_CUSTOMIZE, _T("自定义..."));

	// Allow user-defined toolbars operations:
	InitUserToobars (NULL,
		uiFirstUserToolBarId,
		uiLastUserToolBarId);

	// Enable windows manager:
	EnableWindowsDialog (ID_WINDOW_MANAGER, IDS_WINDOWS_MANAGER, TRUE);

	// Enable control bar context menu (list of bars + customize command):
	EnableControlBarMenu (	
		TRUE,				// Enable
		ID_VIEW_CUSTOMIZE, 	// Customize command ID
		_T("自定义..."),	// Customize command text
		ID_VIEW_TOOLBAR);	// Menu items with this ID will be replaced by
	// toolbars menu

	OnApplicationLook (theApp.m_nAppLook);
#if 0

	BOOL bNameValid;
	// 基于持久值设置视觉管理器和样式
	OnApplicationLook(theApp.m_nAppLook);

	CMDITabInfo mdiTabParams;
	mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE; // 其他可用样式...
	mdiTabParams.m_bActiveTabCloseButton = TRUE;      // 设置为 FALSE 会将关闭按钮放置在选项卡区域的右侧
	mdiTabParams.m_bTabIcons = FALSE;    // 设置为 TRUE 将在 MDI 选项卡上启用文档图标
	mdiTabParams.m_bAutoColor = TRUE;    // 设置为 FALSE 将禁用 MDI 选项卡的自动着色
	mdiTabParams.m_bDocumentMenu = TRUE; // 在选项卡区域的右边缘启用文档菜单
	EnableMDITabbedGroups(TRUE, mdiTabParams);

	if (!m_wndMenuBar.Create(this))
	{
		TRACE0("未能创建菜单栏\n");
		return -1;      // 未能创建
	}

	m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);

	// 防止菜单栏在激活时获得焦点
	CMFCPopupMenu::SetForceMenuFocus(FALSE);

	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
	{
		TRACE0("未能创建工具栏\n");
		return -1;      // 未能创建
	}

	CString strToolBarName;
	bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
	ASSERT(bNameValid);
	m_wndToolBar.SetWindowText(strToolBarName);

	CString strCustomize;
	bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
	ASSERT(bNameValid);
	m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);

	// 允许用户定义的工具栏操作:
	InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);

	if (!m_wndStatusBar.Create(this))
	{
		TRACE0("未能创建状态栏\n");
		return -1;      // 未能创建
	}
	m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));

	// TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
	m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockPane(&m_wndMenuBar);
	DockPane(&m_wndToolBar);


	// 启用 Visual Studio 2005 样式停靠窗口行为
	CDockingManager::SetDockingMode(DT_SMART);
	// 启用 Visual Studio 2005 样式停靠窗口自动隐藏行为
	EnableAutoHidePanes(CBRS_ALIGN_ANY);

	// 加载菜单项图像(不在任何标准工具栏上):
	CBCGPToolBar::AddToolBarForImageCollection(IDR_MENU_IMAGES, theApp.m_bHiColorIcons ? IDB_MENU_IMAGES_24 : 0);

	// 创建停靠窗口
	if (!CreateDockingWindows())
	{
		TRACE0("未能创建停靠窗口\n");
		return -1;
	}

	m_wndFileView.EnableDocking(CBRS_ALIGN_ANY);
	m_wndClassView.EnableDocking(CBRS_ALIGN_ANY);
	DockPane(&m_wndFileView);
	CBCGPDockingControlBar* pTabbedBar = NULL;
	m_wndClassView.AttachToTabWnd(&m_wndFileView, DM_SHOW, TRUE, &pTabbedBar);
	m_wndOutput.EnableDocking(CBRS_ALIGN_ANY);
	DockPane(&m_wndOutput);
 

	// 启用增强的窗口管理对话框
	EnableWindowsDialog(ID_WINDOW_MANAGER, IDS_WINDOWS_MANAGER, TRUE);

	// 启用工具栏和停靠窗口菜单替换
	EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);

	// 启用快速(按住 Alt 拖动)工具栏自定义
	CBCGPToolBar::EnableQuickCustomization();

	if (CBCGPToolBar::GetUserImages() == NULL)
	{
		// 加载用户定义的工具栏图像
		if (m_UserImages.Load(_T(".\\UserImages.bmp")))
		{
			m_UserImages.SetImageSize(CSize(16, 16), FALSE);
			CBCGPToolBar::SetUserImages(&m_UserImages);
		}
	}

	// 启用菜单个性化(最近使用的命令)
	// TODO: 定义您自己的基本命令,确保每个下拉菜单至少有一个基本命令。
	CList<UINT, UINT> lstBasicCommands;

	lstBasicCommands.AddTail(ID_FILE_NEW);
	lstBasicCommands.AddTail(ID_FILE_OPEN);
	lstBasicCommands.AddTail(ID_FILE_SAVE);
	lstBasicCommands.AddTail(ID_FILE_PRINT);
	lstBasicCommands.AddTail(ID_APP_EXIT);
	lstBasicCommands.AddTail(ID_EDIT_CUT);
	lstBasicCommands.AddTail(ID_EDIT_PASTE);
	lstBasicCommands.AddTail(ID_EDIT_UNDO);
	lstBasicCommands.AddTail(ID_APP_ABOUT);
	lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR);
	lstBasicCommands.AddTail(ID_VIEW_TOOLBAR);
	lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2003);
	lstBasicCommands.AddTail(ID_VIEW_APPLOOK_VS_2005);
	lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLUE);
	lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_SILVER);
	lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLACK);
	lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_AQUA);
	lstBasicCommands.AddTail(ID_SORTING_SORTALPHABETIC);
	lstBasicCommands.AddTail(ID_SORTING_SORTBYTYPE);
	lstBasicCommands.AddTail(ID_SORTING_SORTBYACCESS);
	lstBasicCommands.AddTail(ID_SORTING_GROUPBYTYPE);

	CBCGPToolBar::SetBasicCommands(lstBasicCommands);

#endif
	return 0;
}
示例#14
0
//********************************************************************************
BOOL CButtonAppearanceDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	if (AfxGetMainWnd () != NULL && 
		(AfxGetMainWnd ()->GetExStyle () & WS_EX_LAYOUTRTL))
	{
		ModifyStyleEx (0, WS_EX_LAYOUTRTL);
	}

	if (m_pImages != NULL)
	{
		m_wndButtonList.SetImages (m_pImages);
		RebuildImageList ();
		m_wndButtonList.SelectButton (m_iSelImage);
	}
	else
	{
		m_wndButtonList.EnableWindow (FALSE);
		m_wndUserImageBtn.EnableWindow (FALSE);

		if (m_iSelImage < 0)
		{
			CWnd* pWndImage = GetDlgItem (IDC_BCGBARRES_IMAGE);
			VERIFY(pWndImage != NULL);
			pWndImage->EnableWindow (FALSE);

			CWnd* pWndImageText = GetDlgItem (IDC_BCGBARRES_IMAGE_TEXT);
			VERIFY(pWndImageText != NULL);
			pWndImageText->EnableWindow (FALSE);
		}
	}

	if (m_bUserButton && !m_pButton->IsLocked ())
	{
		m_wndUserImageBtn.SetCheck (1);
	}
	else
	{
		m_wndDefautImageBtn.SetCheck (1);
	}

	if (m_bImage)
	{
		if (m_bText)
		{
			CheckDlgButton (IDC_BCGBARRES_IMAGE_TEXT, TRUE);
		}
		else
		{
			CheckDlgButton (IDC_BCGBARRES_IMAGE, TRUE);
		}
	}
	else
	{
		ASSERT (m_bText);
		CheckDlgButton (IDC_BCGBARRES_TEXT, TRUE);
		m_bText = TRUE;

		m_wndButtonList.EnableWindow (FALSE);
	}

	int iTabOffset = m_pButton->m_strText.Find (_T('\t'));
	if (iTabOffset >= 0)
	{
		m_strButtonText = m_pButton->m_strText.Left (iTabOffset);
		m_strAccel = m_pButton->m_strText.Mid (iTabOffset + 1);
	}
	else
	{
		m_strButtonText = m_pButton->m_strText;
	}

	CFrameWnd* pWndFrame = GetParentFrame ();
	if (pWndFrame != NULL)
	{
		pWndFrame->GetMessageString (m_pButton->m_nID,
						m_strButtonDescr);
	}

	if (m_bMenuMode)
	{
		CWnd* pWndImage = GetDlgItem (IDC_BCGBARRES_IMAGE);
		VERIFY(pWndImage != NULL);
		pWndImage->EnableWindow (FALSE);
	}

	if (m_pButton->m_bTextBelow)
	{
		CWnd* pWndImage = GetDlgItem (IDC_BCGBARRES_IMAGE);
		VERIFY(pWndImage != NULL);
		pWndImage->EnableWindow (FALSE);
	}

	m_wndDefaultImageArea.GetClientRect (&m_rectDefaultImage);
	m_wndDefaultImageArea.MapWindowPoints (this, &m_rectDefaultImage);

	CSize sizePreview (16, 16);

	CBCGPToolBarImages* pImages = CBCGPToolBar::GetImages ();
	if (pImages != NULL)
	{
		CSize sizeImage = pImages->GetImageSize ();

		sizePreview.cx = min (sizePreview.cx, sizeImage.cx);
		sizePreview.cy = min (sizePreview.cy, sizeImage.cy);
	}

	m_rectDefaultImage.right = m_rectDefaultImage.left + sizePreview.cx;
	m_rectDefaultImage.bottom = m_rectDefaultImage.top + sizePreview.cy;

	EnableControls ();	
	UpdateData (FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void BCGPResizeImage32
(
	CBCGPToolBarImages& imageSrc,
	CBCGPToolBarImages& imageDst,
	int index,
	CBCGPToolBarImages::ImageAlignHorz horz,
	CBCGPToolBarImages::ImageAlignVert vert,
	CBCGPZoomKernel::XFilterType ft
)
{
	CSize sizeSrc (imageSrc.GetImageSize ());
	CSize sizeDst (imageDst.GetImageSize ());

	imageDst.Clear ();
	imageDst.SetPreMultiplyAutoCheck (TRUE);
	imageDst.SetTransparentColor ((COLORREF) -1);
	imageDst.SetImageSize (sizeDst);

	if (sizeSrc != sizeDst)
	{
		CSize size (sizeDst);

		if (horz == CBCGPToolBarImages::ImageAlignHorzStretch)
		{
			size.cx = sizeSrc.cx;
		}
		if (vert == CBCGPToolBarImages::ImageAlignVertStretch)
		{
			size.cy = sizeSrc.cy;
		}

		int nStart = 0;
		int nEnd   = imageSrc.GetCount ();
		if (index != -1)
		{
			nStart = index;
			nEnd   = nStart + 1;
		}

		for (int i = nStart; i < nEnd; i++)
		{
			CMemoryDC dc;
			dc.SetSize (size);
			CBitmap* bmpImage = &dc.GetBitmap ();

			imageSrc.DrawEx (&dc.GetDC (), CRect (CPoint (0, 0), size), i, horz, vert);

			CMemoryDC dcImage;

			if (horz == CBCGPToolBarImages::ImageAlignHorzStretch ||
				vert == CBCGPToolBarImages::ImageAlignVertStretch)
			{
				dcImage.SetSize (sizeDst);
				bmpImage = &dcImage.GetBitmap ();

				CBCGPScanlinerBitmap ms;
				ms.Attach ((HBITMAP) dc.GetBitmap ());
				CBCGPScanlinerBitmap md;
				md.Attach ((HBITMAP) dcImage.GetBitmap ());

				BCGPResizeImage32 (md, sizeDst.cx, sizeDst.cy, ms, size.cx, size.cy, ft);
			}

			CBitmap bitmap;
			bitmap.Attach (CBCGPDrawManager::CreateBitmap_32 (*bmpImage));

			imageDst.AddImage (bitmap, TRUE);
		}
	}
	else
	{
		imageDst.AddImage (imageSrc, index);
	}
}
示例#16
0
//**********************************************************************
BOOL CBCGPToolTipCtrl::OnDrawIcon (CDC* pDC, CRect rectImage)
{
	ASSERT_VALID (pDC);

#ifndef BCGP_EXCLUDE_RIBBON
	if (m_pRibbonButton != NULL)
	{
		ASSERT_VALID (m_pRibbonButton);
		m_pRibbonButton->OnDrawTooltipImage(pDC, (CBCGPBaseRibbonElement::RibbonImageType) m_nRibbonImageType, rectImage);

		return TRUE;
	}
#endif

	if (m_pHotButton == NULL)
	{
		return FALSE;
	}

	ASSERT_VALID (m_pHotButton);

	CBCGPToolBarImages* pImages = m_pToolBarImages;
	
	CBCGPToolBar* pToolBar = DYNAMIC_DOWNCAST(CBCGPToolBar, m_pHotButton->GetParentWnd());
	if (pToolBar != NULL)
	{
		ASSERT_VALID(pToolBar);
		pToolBar->CheckForButtonImages(m_pHotButton, &pImages);
	}

	if (pImages == NULL)
	{
		return FALSE;
	}

	ASSERT_VALID(pImages);

	CBCGPDrawState ds(CBCGPVisualManager::GetInstance()->IsAutoGrayscaleImages());
	pImages->PrepareDrawImage (ds);

	UINT nSaveStyle = m_pHotButton->m_nStyle;
	BOOL bSaveText = m_pHotButton->m_bText;
	BOOL bSaveImage = m_pHotButton->m_bImage;

	BOOL bSaveLargeIcons = CBCGPToolBar::m_bLargeIcons;
	CBCGPToolBar::m_bLargeIcons = FALSE;

	m_pHotButton->m_bText = FALSE;
	m_pHotButton->m_bImage = TRUE;

	m_pHotButton->m_nStyle = 0;

	m_pHotButton->CBCGPToolbarButton::OnDraw (pDC, rectImage, pImages);

	m_pHotButton->m_nStyle = nSaveStyle;
	m_pHotButton->m_bText = bSaveText;
	m_pHotButton->m_bImage = bSaveImage;

	CBCGPToolBar::m_bLargeIcons = bSaveLargeIcons;

	pImages->EndDrawImage (ds);
	return TRUE;
}
void CBCGPRibbonBackstagePagePrint::OnInitPrintControls()
{
	CBCGPLocalResource localRes;

	double dblScale = globalData.GetRibbonImageScale ();
	if (dblScale != 1.0)
	{
		CBCGPToolBarImages image;
		image.Load (IDB_BCGBARRES_PRINT_BUTTON);
		image.SetSingleImage ();
		image.SmoothResize (dblScale);

		m_btnPrint.SetImage (image.GetImageWell (), 0, 0);
	}
	else
	{
		m_btnPrint.SetImage(IDB_BCGBARRES_PRINT_BUTTON);
	}

	m_btnPrint.m_bTopImage = TRUE;
	m_btnPrint.m_bDrawFocus = FALSE;

	m_btnCopies.SetRange (1, 9999);

	m_wndPrinterProperties.m_bDefaultClickProcess = TRUE;
	m_wndPrinterProperties.m_nAlignStyle = CBCGPButton::ALIGN_CENTER;

	m_btnPrev.SetWindowText (_T(""));
	m_btnPrev.SetStdImage (CBCGPMenuImages::IdArowLeftTab3d);

	m_btnNext.SetWindowText (_T(""));
	m_btnNext.SetStdImage (CBCGPMenuImages::IdArowRightTab3d);

	m_wndZoomSlider.SetRange (10, 100);
	m_wndZoomSlider.SetPos (10);

	PRINTDLG* dlgPrint = GetPrintDlg();
	if (dlgPrint == NULL || dlgPrint->hDevMode == NULL || dlgPrint->hDevNames == NULL)
	{
		m_wndPrinter.EnableWindow (FALSE);
		m_wndPrinterProperties.EnableWindow (FALSE);
		m_wndPage.EnableWindow (FALSE);
		m_wndPageFrom.EnableWindow (FALSE);
		m_wndPageTo.EnableWindow (FALSE);
		m_wndCollate.EnableWindow (FALSE);
		m_wndOrientation.EnableWindow (FALSE);
		m_wndPaper.EnableWindow (FALSE);

		return;
	}

	CString strLine;

	int nPages = 0;
	m_wndPage.SetIcons (IDB_BCGBARRES_PRINT_PAGE, 32);
	strLine.LoadString (IDS_BCGBARRES_PRINT_PAGE_A);
	m_wndPage.AddString(strLine, 0);
	if ((dlgPrint->Flags & PD_NOSELECTION) == 0)
	{
		strLine.LoadString (IDS_BCGBARRES_PRINT_PAGE_S);
		m_wndPage.AddString(strLine, 1);
		if ((dlgPrint->Flags & PD_SELECTION) == PD_SELECTION)
		{
			nPages = 1;
		}
	}
	if ((dlgPrint->Flags & PD_NOPAGENUMS) == 0 && dlgPrint->nMinPage != dlgPrint->nMaxPage)
	{
		strLine.LoadString (IDS_BCGBARRES_PRINT_PAGE_C);
		m_wndPage.AddString(strLine, 2);
		strLine.LoadString (IDS_BCGBARRES_PRINT_PAGE_R);
		m_wndPage.AddString(strLine, 3);
		if ((dlgPrint->Flags & PD_PAGENUMS) == PD_PAGENUMS)
		{
			nPages = m_wndPage.GetCount () - 1;
		}
	}
	else
	{
		m_wndPageFrom.EnableWindow (FALSE);
		m_wndPageTo.EnableWindow (FALSE);
	}

	m_wndPage.SetCurSel (nPages);

	m_wndCollate.SetIcons (IDB_BCGBARRES_PRINT_COLLATE, 32);
	strLine.LoadString (IDS_BCGBARRES_PRINT_COLLATE_C);
	m_wndCollate.AddString (strLine, 0);
	strLine.LoadString (IDS_BCGBARRES_PRINT_COLLATE_U);
	m_wndCollate.AddString (strLine, 1);

	m_wndOrientation.SetIcons (IDB_BCGBARRES_PRINT_ORIENT, 32);
	strLine.LoadString (IDS_BCGBARRES_PRINT_ORIENT_P);
	m_wndOrientation.AddString (strLine, 0);
	strLine.LoadString (IDS_BCGBARRES_PRINT_ORIENT_L);
	m_wndOrientation.AddString (strLine, 1);

	m_nPageFrom = dlgPrint->nFromPage;
	m_nPageTo = dlgPrint->nToPage;
	UpdateData(FALSE);

	LoadPrinterImages ();

	UpdatePrinters ();
}