이거 때문에 은근히 고생했다.. ㅠ_ㅠ 젠장..
'm_imageList' 는 자료형 이 'CImageList' 임
_____________________________________________________________________________
// 이미지 리스트 생성(256 컬러 이상)
m_imageList.DeleteImageList();
m_imageList.Create(32, 32, ILC_MASK|ILC_COLORDDB, 10, 10);
// 이미지 리스트에 그림 파일 추가
{
CString str = _T("e:\\test.bmp"); // 그림 파일 이름
HBITMAP hbitmap = NULL;
hbitmap = (HBITMAP)LoadImage(::AfxGetApp()->m_hInstance, str, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION|LR_DEFAULTSIZE);
CBitmap bmp;bmp.Attach(hbitmap);
m_imageList.Add(&bmp, RGB(192,192,192));
bmp.DeleteObject();
if (hbitmap) DeleteObject(hbitmap);
}
// 리스트 컨트롤에 이미지 리스트 세팅
m_cList_Object.SetImageList(&m_imageList, LVSIL_NORMAL);
// DX 이용 jpg 붙이기
{
CString strPath; // 패스 설정
// 텍스처 생성
LPDIRECT3DTEXTURE9 Tex; // 텍스처
LPDIRECT3DDEVICE9 lpDevice = 디바이스 세팅
D3DXIMAGE_INFO ImageInfo; // 텍스처 정보
// 텍스처 로드
HRESULT hr = D3DXCreateTextureFromFileEx(
lpDevice , strPath.GetBuffer(0) , 50, 50, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED,
D3DX_DEFAULT, D3DX_DEFAULT, 0, &ImageInfo, NULL, &Tex );
// BMP 생성
D3DLOCKED_RECT RockRect;
memset( &RockRect, 0, sizeof(D3DLOCKED_RECT) );Tex->LockRect(0, &RockRect, NULL, 0 );
unsigned char* pDefBits = static_cast<unsigned char*>(RockRect.pBits);
CDC* winDC = GetDC();
CBitmap bmp;
bmp.CreateCompatibleBitmap(winDC, 50, 50);bmp.SetBitmapBits(50 * 4 * 50, pDefBits);
Tex->UnlockRect(0);
// 리스트에 추가
iImgIndex = m_imageList.Add(&bmp, RGB(256,256,256));
SAFE_RELEASE(Tex);
bmp.DeleteObject();
}
[출처] [MFC]파일에서 그림 불러서 이미지 리스트 만들기|작성자 핵이
'[ Programing ] > MFC' 카테고리의 다른 글
MFC에서 문자열에서 숫자로 변환 (0) | 2013.05.22 |
---|---|
파일열기 공통대화상자 실행 후에도 현재 디렉토리 유지시키기 (0) | 2013.05.21 |
특정 폴더 안에 파일 쉽게 찾기 (0) | 2013.05.21 |
컨트롤 깜빡임 방지 및 출력 속도 (매우 약간) 상승 (0) | 2013.05.21 |
GetLastError() 함수 (0) | 2013.05.21 |