示例#1
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);
}
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 ();
}