ngimagelist.cpp

来自「ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - 」· C++ 代码 · 共 89 行

CPP
89
字号

// NGImageList.cpp : implementation file
//

#include "StdAfx.h"
#include "NGImageList.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CNGImageList class

IMPLEMENT_DYNAMIC(CNGImageList, CNGImageList_BASE)

CNGImageList::CNGImageList(void)
{
}


CNGImageList::~CNGImageList(void)
{
}


/////////////////////////////////////////////////////////////////////////////
// CNGImageList overrides



/////////////////////////////////////////////////////////////////////////////
// CNGImageList operations

int CNGImageList::AddIcon(UINT uID, UINT uFlags /*= LR_DEFAULTCOLOR*/)
{
	int nImage = -1;
	if (uID != 0)
	{
		// See if we have this one already...
		m_mapImages.Lookup(uID, nImage);

		if (nImage < 0)
		{
			HINSTANCE hInst = ::AfxFindResourceHandle(	MAKEINTRESOURCE(uID),
														RT_GROUP_ICON);

			if (hInst != NULL)
			{
				int cx = 0;
				int cy = 0;
				if (::ImageList_GetIconSize(	m_hImageList,
												&cx,
												&cy) )
				{
					HICON hIcon = (HICON)::LoadImage(	hInst,
														MAKEINTRESOURCE(uID),
														IMAGE_ICON,
														cx,
														cy,
														uFlags);
					
					if (hIcon != NULL)
					{
						nImage = Add(hIcon);

						if (nImage >= 0)
						{
							m_mapImages[uID] = nImage;
						}

						::DestroyIcon(hIcon);
					}
				}
			}
		}
	}
	return nImage;
}


/////////////////////////////////////////////////////////////////////////////
// CNGImageList implementation

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?