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