本文整理汇总了C++中CImageList::DeleteImageList方法的典型用法代码示例。如果您正苦于以下问题:C++ CImageList::DeleteImageList方法的具体用法?C++ CImageList::DeleteImageList怎么用?C++ CImageList::DeleteImageList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CImageList
的用法示例。
在下文中一共展示了CImageList::DeleteImageList方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ChangeToolbarBitmap
void CMuleToolbarCtrl::ChangeToolbarBitmap(const CString& path, bool bRefresh)
{
bool bResult = false;
CImageList ImageList;
CEnBitmap Bitmap;
if (!path.IsEmpty() && Bitmap.LoadImage(path))
{
BITMAP bm = {0};
Bitmap.GetObject(sizeof(bm), &bm);
if (bm.bmWidth == NUM_BUTTON_BITMAPS*m_sizBtnBmp.cx && bm.bmHeight == m_sizBtnBmp.cy)
{
bool bAlpha = bm.bmBitsPixel > 24;
if (ImageList.Create(m_sizBtnBmp.cx, bm.bmHeight, bAlpha ? ILC_COLOR32 : (theApp.m_iDfltImageListColorFlags | ILC_MASK), 0, 1))
{
ImageList.Add(&Bitmap, bAlpha ? 0xFF000000 : RGB(255, 0, 255));
CImageList* pimlOld = SetImageList(&ImageList);
ImageList.Detach();
if (pimlOld)
pimlOld->DeleteImageList();
bResult = true;
}
}
Bitmap.DeleteObject();
}
// if image file loading or image list creation failed, create default image list.
if (!bResult)
{
// load from icon ressources
ImageList.Create(m_sizBtnBmp.cx, m_sizBtnBmp.cy, theApp.m_iDfltImageListColorFlags | ILC_MASK, 0, 1);
ImageList.Add(CTempIconLoader(_T("CONNECT"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("DISCONNECT"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("STOPCONNECTING"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("KADEMLIA"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("SERVER"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("TRANSFER"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("SEARCH"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("SharedFiles"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("MESSAGES"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("IRC"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("STATISTICS"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("PREFERENCES"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("TOOLS"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ImageList.Add(CTempIconLoader(_T("HELP"), m_sizBtnBmp.cx, m_sizBtnBmp.cy));
ASSERT( ImageList.GetImageCount() == NUM_BUTTON_BITMAPS );
CImageList* pimlOld = SetImageList(&ImageList);
ImageList.Detach();
if (pimlOld)
pimlOld->DeleteImageList();
}
if (bRefresh)
{
UpdateBackground();
Invalidate();
Refresh();
}
}
示例2: OnDestroy
/////////////////////////////////////////////////////////////////////////////
// CMyTreeCtrl message handlers
void CMyTreeCtrl::OnDestroy()
{
CImageList *pimagelist;
pimagelist = GetImageList(TVSIL_NORMAL);
if( pimagelist )
pimagelist->DeleteImageList();
delete pimagelist;
pimagelist = GetImageList(TVSIL_STATE);
if( pimagelist )
pimagelist->DeleteImageList();
delete pimagelist;
}
示例3: UpdateImageListFull
bool UpdateImageListFull(TSheet& rSheet)
{
// Get the tab control...
CTabCtrl* pTab = rSheet.GetTabControl();
if (!IsWindow(pTab->GetSafeHwnd()))
{
// ASSERT: Tab control could not be retrieved or it is not a valid window.
ASSERT( FALSE );
return false;
}
// Create the replacement image list via policy.
std::auto_ptr<CImageList> apILNew( TListCreator::CreateImageList() );
bool bSuccess = (NULL != apILNew.get() );
// Reload the icons from the property pages.
int nTotalPageCount = rSheet.GetPageCount();
for(int nCurrentPage = 0; nCurrentPage < nTotalPageCount && bSuccess; ++nCurrentPage )
{
// Get the page.
CPropertyPage* pPage = rSheet.GetPage( nCurrentPage );
ASSERT( pPage );
// Set the icon in the image list from the page properties.
if( pPage && ( pPage->m_psp.dwFlags & PSP_USEHICON ) )
{
/*bSuccess &=*/ ( -1 != apILNew->Add( pPage->m_psp.hIcon ) );
}
if( pPage && ( pPage->m_psp.dwFlags & PSP_USEICONID ) )
{
/*bSuccess &=*/ ( -1 != apILNew->Add( theApp.LoadIcon( pPage->m_psp.pszIcon, 16, 16 ) ) );
}
}
if( !bSuccess )
{
// This ASSERT because either the image list could not be created or icon insertion failed.
ASSERT( FALSE );
// Cleanup what we have in the new image list.
if( apILNew.get() )
{
apILNew->DeleteImageList();
}
return false;
}
// Replace the image list from the tab control.
CImageList* pilOld = pTab->SetImageList( CImageList::FromHandle( apILNew->Detach() ) );
// Clean the old image list if there was one.
if( pilOld )
{
pilOld->DeleteImageList();
}
return true;
};
示例4: OnDestroy
void CDirectoryTreeCtrl::OnDestroy()
{
// If a treeview control is created with TVS_CHECKBOXES, the application has to
// delete the image list which was implicitly created by the control.
CImageList *piml = GetImageList(TVSIL_STATE);
if (piml)
piml->DeleteImageList();
CTreeCtrl::OnDestroy();
}
示例5: SetAllIcons
void CIrcWnd::SetAllIcons()
{
CImageList iml;
iml.Create(16, 16, theApp.m_iDfltImageListColorFlags | ILC_MASK, 0, 1);
iml.Add(CTempIconLoader(_T("Smiley_Smile")));
iml.Add(CTempIconLoader(_T("Bold")));
iml.Add(CTempIconLoader(_T("Underline")));
iml.Add(CTempIconLoader(_T("Colour")));
iml.Add(CTempIconLoader(_T("ResetFormat")));
CImageList* pImlOld = m_wndFormat.SetImageList(&iml);
iml.Detach();
if (pImlOld)
pImlOld->DeleteImageList();
}
示例6:
// @pymethod |PyCImageList|DeleteImageList|Deletes an image list.
PyObject *PyCImageList_DeleteImageList( PyObject *self, PyObject *args )
{
// @comm This frees all resources associated with an image list.
// No further operations on the object will be allowed.
CImageList *pList;
if (!(pList=PyCImageList::GetImageList(self)))
return NULL;
CHECK_NO_ARGS2(args, "DeleteImageList");
// Kill the C++ object.
GUI_BGN_SAVE;
Python_delete_assoc(pList);
BOOL ok = pList->DeleteImageList();
delete pList;
GUI_END_SAVE;
if (!ok)
RETURN_ERR("DeleteImageList failed");
RETURN_NONE;
}
示例7: SetIcon
void CDropDownButton::SetIcon(LPCTSTR pszResourceID)
{
if (!m_bSingleDropDownBtn)
return;
CImageList iml;
iml.Create(16, 16, ILC_COLOR32 | ILC_MASK, 1, 1);
iml.Add(CTempIconLoader(pszResourceID));
CImageList* pImlOld = SetImageList(&iml);
iml.Detach();
if (pImlOld)
pImlOld->DeleteImageList();
TBBUTTONINFO tbbi = {0};
tbbi.cbSize = sizeof tbbi;
tbbi.dwMask = TBIF_IMAGE;
tbbi.iImage = 0;
SetButtonInfo(GetWindowLong(m_hWnd, GWL_ID), &tbbi);
}
示例8: SetAllIcons
void CKademliaWnd::SetAllIcons()
{
// frames
m_ctrlBootstrap.SetIcon(_T("KadBootstrap"));
if (icon_kadsea)
VERIFY( DestroyIcon(icon_kadsea) );
icon_kadsea = theApp.LoadIcon(_T("KadCurrentSearches"), 16, 16);
((CStatic*)GetDlgItem(IDC_KADICO2))->SetIcon(icon_kadsea);
CImageList iml;
iml.Create(16, 16, theApp.m_iDfltImageListColorFlags | ILC_MASK, 1, 1);
iml.Add(CTempIconLoader(_T("KadContactList")));
iml.Add(CTempIconLoader(_T("FriendSlot")));
CImageList* pImlOld = m_pbtnWnd->SetImageList(&iml);
iml.Detach();
if (pImlOld)
pImlOld->DeleteImageList();
}
示例9: CreateDragImageEx
CImageList* CPlayerListCtrl::CreateDragImageEx(LPPOINT lpPoint)
{
if (GetSelectedCount() <= 0) {
return nullptr;
}
CRect cSingleRect, cCompleteRect(0, 0, 0, 0);
GetClientRect(cSingleRect);
int nWidth = cSingleRect.Width();
// Start and Stop index in view area
int nIndex = GetTopIndex() - 1;
int nBottomIndex = GetBottomIndex();
// Determine the size of the drag image (limited for
// rows visible and Client width)
while ((nIndex = GetNextItem(nIndex, LVNI_SELECTED)) != -1 && nIndex <= nBottomIndex) {
GetItemRect(nIndex, cSingleRect, LVIR_BOUNDS);
/*
CRect r;
GetItemRect(nIndex, r, LVIR_LABEL);
cSingleRect.left = r.left;
*/
if (cSingleRect.left < 0) {
cSingleRect.left = 0;
}
if (cSingleRect.right > nWidth) {
cSingleRect.right = nWidth;
}
cCompleteRect |= cSingleRect;
}
//
// Create bitmap in memory DC
//
CClientDC cDc(this);
CDC cMemDC;
CBitmap cBitmap;
if (!cMemDC.CreateCompatibleDC(&cDc)) {
return nullptr;
}
if (!cBitmap.CreateCompatibleBitmap(&cDc, cCompleteRect.Width(), cCompleteRect.Height())) {
return nullptr;
}
CBitmap* pOldMemDCBitmap = cMemDC.SelectObject(&cBitmap);
// Here green is used as mask color
cMemDC.FillSolidRect(0, 0, cCompleteRect.Width(), cCompleteRect.Height(), RGB(0, 255, 0));
// Paint each DragImage in the DC
nIndex = GetTopIndex() - 1;
while ((nIndex = GetNextItem(nIndex, LVNI_SELECTED)) != -1 && nIndex <= nBottomIndex) {
CPoint pt;
CImageList* pSingleImageList = CreateDragImage(nIndex, &pt);
if (pSingleImageList) {
GetItemRect(nIndex, cSingleRect, LVIR_BOUNDS);
pSingleImageList->Draw(&cMemDC,
0,
CPoint(cSingleRect.left - cCompleteRect.left, cSingleRect.top - cCompleteRect.top),
ILD_MASK);
pSingleImageList->DeleteImageList();
delete pSingleImageList;
}
}
cMemDC.SelectObject(pOldMemDCBitmap);
//
// Create the image list with the merged drag images
//
CImageList* pCompleteImageList = DEBUG_NEW CImageList;
pCompleteImageList->Create(cCompleteRect.Width(),
cCompleteRect.Height(),
ILC_COLOR | ILC_MASK, 0, 1);
// Here green is used as mask color
pCompleteImageList->Add(&cBitmap, RGB(0, 255, 0));
//
// as an optional service:
// Find the offset of the current mouse cursor to the image list
// this we can use in BeginDrag()
//
if (lpPoint) {
lpPoint->x = cCompleteRect.left;
lpPoint->y = cCompleteRect.top;
}
return pCompleteImageList;
}
示例10: OnInitDialog
LRESULT CToolbarWnd::OnInitDialog(WPARAM /*wParam*/, LPARAM /*lParam*/)
{
Default();
InitWindowStyles(this);
//(void)m_sizeDefault; // not yet set
CRect sizeDefault;
GetWindowRect(&sizeDefault);
CRect rcBorders(4, 4, 4, 4);
SetBorders(&rcBorders);
m_szFloat.cx = sizeDefault.Width() + rcBorders.left + rcBorders.right + GetSystemMetrics(SM_CXEDGE) * 2;
m_szFloat.cy = sizeDefault.Height() + rcBorders.top + rcBorders.bottom + GetSystemMetrics(SM_CYEDGE) * 2;
m_szMRU = m_szFloat;
UpdateData(FALSE);
// Initalize the toolbar
CImageList iml;
int nFlags= theApp.m_iDfltImageListColorFlags;
// older Windows versions imageslists cannot create monochrome (disabled) icons which have alpha support
// so we have to take care of this ourself
bool bNeedMonoIcons = thePrefs.GetWindowsVersion() < _WINVER_VISTA_ && nFlags != ILC_COLOR4;
nFlags |= ILC_MASK;
iml.Create(16, 16, nFlags, 1, 1);
iml.Add(CTempIconLoader(_T("FILEPRIORITY")));
iml.Add(CTempIconLoader(_T("PAUSE")));
iml.Add(CTempIconLoader(_T("STOP")));
iml.Add(CTempIconLoader(_T("RESUME")));
iml.Add(CTempIconLoader(_T("DELETE")));
iml.Add(CTempIconLoader(_T("OPENFILE")));
iml.Add(CTempIconLoader(_T("PREVIEW")));
iml.Add(CTempIconLoader(_T("FILEINFO")));
iml.Add(CTempIconLoader(_T("FILECOMMENTS")));
iml.Add(CTempIconLoader(_T("ED2KLINK")));
iml.Add(CTempIconLoader(_T("CATEGORY")));
iml.Add(CTempIconLoader(_T("CLEARCOMPLETE")));
iml.Add(CTempIconLoader(_T("KadFileSearch")));
iml.Add(CTempIconLoader(_T("Search")));
if (bNeedMonoIcons)
{
CImageList iml2;
iml2.Create(16, 16, nFlags, 1, 1);
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("FILEPRIORITY"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("PAUSE"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("STOP"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("RESUME"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("DELETE"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("OPENFILE"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("PREVIEW"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("FILEINFO"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("FILECOMMENTS"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("ED2KLINK"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("CATEGORY"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("CLEARCOMPLETE"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("KadFileSearch"))));
VERIFY(AddIconGrayscaledToImageList(iml2, CTempIconLoader(_T("Search"))));
CImageList* pImlOld = m_btnBar->SetDisabledImageList(&iml2);
iml2.Detach();
if (pImlOld)
pImlOld->DeleteImageList();
}
CImageList* pImlOld = m_btnBar->SetImageList(&iml);
iml.Detach();
if (pImlOld)
pImlOld->DeleteImageList();
m_btnBar->ModifyStyle((theApp.m_ullComCtrlVer >= MAKEDLLVERULL(6, 16, 0, 0)) ? TBSTYLE_TRANSPARENT : 0, 0);
m_btnBar->SetMaxTextRows(0);
FillToolbar();
return TRUE;
}
示例11: CreateCheckboxImageList
///////////////////////////////////////////////////////////////////////////////
//
// CreateCheckboxImageList()
//
// Purpose: Create themed checkbox image list
//
// Parameters: pDC - pointer to device context for drawing
// imagelist - image list to create
// nSize - height and width of images
// crBackground - fill color
//
// Returns: BOOL - TRUE if image list created OK
//
BOOL CreateCheckboxImageList(CDC *pDC,
CImageList& imagelist,
int nSize,
COLORREF crBackground)
{
ASSERT(pDC);
ASSERT(nSize > 0);
BOOL rc = FALSE;
///////////////////////////////////////////////////////////////////////////
//
// CHECKBOX IMAGES
//
// From MSDN: "To indicate that the item has no state image, set the
// index to zero. This convention means that image zero in
// the state image list cannot be used as a state image."
//
// Note that comparable hot image = cold image index OR 8.
// Disabled state = index OR 4.
struct CHECKBOXDRAWDATA
{
TCHAR * pszDesc; // description for debugging
int nStateId; // for DrawThemeBackground
UINT nState; // for DrawFrameControl
}
cbdd[] =
{
// cold -----------------------------------------------------------------------------------
/*0000*/_T("unused"), 0, 0,
/*0001*/_T("unchecked normal"), CBS_UNCHECKEDNORMAL, DFCS_BUTTONCHECK | DFCS_FLAT,
/*0010*/_T("checked normal"), CBS_CHECKEDNORMAL, DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_FLAT,
/*0011*/_T("tri-state normal"), CBS_MIXEDNORMAL, DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_FLAT,
/*0100*/_T("unused"), 0, 0,
/*0101*/_T("unchecked disabled"), CBS_UNCHECKEDDISABLED, DFCS_BUTTONCHECK | DFCS_INACTIVE | DFCS_FLAT,
/*0110*/_T("checked disabled"), CBS_CHECKEDDISABLED, DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_INACTIVE | DFCS_FLAT,
/*0111*/_T("tri-state disabled"), CBS_MIXEDDISABLED, DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_INACTIVE | DFCS_FLAT,
// hot ------------------------------------------------------------------------------------
/*1000*/_T("unused"), 0, 0,
/*1001*/_T("unchecked normal"), CBS_UNCHECKEDHOT, DFCS_BUTTONCHECK | DFCS_FLAT,
/*1010*/_T("checked normal"), CBS_CHECKEDHOT, DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_FLAT,
/*1011*/_T("tri-state normal"), CBS_MIXEDHOT, DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_FLAT,
/*1100*/_T("unused"), 0, 0,
/*1101*/_T("unchecked disabled"), CBS_UNCHECKEDDISABLED, DFCS_BUTTONCHECK | DFCS_INACTIVE | DFCS_FLAT,
/*1110*/_T("checked disabled"), CBS_CHECKEDDISABLED, DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_INACTIVE | DFCS_FLAT,
/*1111*/_T("tri-state disabled"), CBS_MIXEDDISABLED, DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_INACTIVE | DFCS_FLAT,
NULL, 0, 0 // last entry
};
if (pDC && (nSize > 0))
{
const int nBmpWidth = nSize;
const int nBmpHeight = nSize;
const int nImages = sizeof(cbdd)/sizeof(cbdd[0]);
ASSERT(nImages == 17);
if (imagelist.GetSafeHandle())
imagelist.DeleteImageList();
CBitmap bmpCheckboxes;
if (bmpCheckboxes.CreateCompatibleBitmap(pDC, nBmpWidth * nImages,
nBmpHeight))
{
if (imagelist.Create(nBmpWidth, nBmpHeight, ILC_COLOR32 | ILC_MASK,
nImages, 1))
{
CDC dcMem;
if (dcMem.CreateCompatibleDC(pDC))
{
HTHEME hTheme = NULL;
hTheme = (g_xpStyle.IsThemeActive() &&
g_xpStyle.IsAppThemed()) ?
g_xpStyle.OpenThemeData(NULL, L"BUTTON") : NULL;
CBitmap* pOldBmp = dcMem.SelectObject(&bmpCheckboxes);
dcMem.FillSolidRect(0, 0, nBmpWidth*nImages, nBmpHeight,
crBackground);
int nImageWidth = nBmpWidth - 2; // allow 2 for border
int nImageHeight = nBmpHeight - 2;
int nImageLeft = (nBmpWidth - nImageWidth) / 2;
int nImageTop = (nBmpHeight - nImageHeight) / 2;
CRect rectImage(nImageLeft,
//.........这里部分代码省略.........