본문 바로가기
C & C++/C & C++

CFileDialog 사용시 왼쪽버튼 바로가기 만들기(탐색기형식)

by izen8 2012. 6. 12.
반응형

FileOpen.jpg

ins_dlg.lStructSize = sizeof( OPENFILENAME ) + 12;

ex) 코드 : 다중파일 선택

char name_filter[] = "모든 파일(*.*)|*.*||";

CFileDialog ins_dlg(TRUE, NULL, NULL, OFN_EXPLORER | OFN_NOVALIDATE | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, name_filter, this);

ins_dlg.m_ofn.nFilterIndex = 2;
ins_dlg.m_ofn.nMaxFile = MAX_PATH;
char *p_file_name_buffer = new char[MAX_PATH];
strcpy(p_file_name_buffer, "");
ins_dlg.m_ofn.lpstrFile = p_file_name_buffer;


ins_dlg.m_ofn.lStructSize = sizeof( OPENFILENAME ) + 12; // 이부분 추가

if( ins_dlg.DoModal() == IDOK )
{
POSITION pos = ins_dlg.GetStartPosition();

while( pos != NULL )
{
SHFILEINFO sfi;
SHGetFileInfo( ins_dlg.GetFileName(), 0, &sfi, sizeof(SHFILEINFO), SHGFI_DISPLAYNAME | SHGFI_TYPENAME| SHGFI_SYSICONINDEX | SHGFI_SMALLICON );

m_ctrList.InsertItem( 0, ins_dlg.GetFileTitle(), sfi.iIcon );
m_ctrList.SetItemText( 0, 1, ins_dlg.GetNextPathName(pos) );
}
}

delete[] p_file_name_buffer;

 

반응형

'C & C++ > C & C++' 카테고리의 다른 글

바탕화면 폴더 경로 가져오기  (0) 2012.06.20
가상키 코드 리스트  (0) 2012.06.12
CPU 사용률 알아오기  (0) 2012.06.12
OS 버전 알아오기  (0) 2012.06.12
SHGetSpecialFolderPath() - 윈도우 특별한 폴더 경로  (0) 2012.06.12

댓글