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; }
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 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 (); }