C++학습:파일 대화 상자 열기 및 폴 더 열기 대화 상자
1.파일 대화 상 자 를 여 는 데 자주 사용 되 는 방법 은 시스템 의 CFileDialog 를 사용 하 는 것 입 니 다.여기 서 또 다른 방법 은 OPEnfileNAME 라 는 구조 체 와 GetOpenFileName()이라는 함 수 를 사용 하여 단일 파일 이나 다 중 파일 을 선택 할 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
- TCHAR szBuffer[MAX_PATH] = {0};
- OPENFILENAME ofn= {0};
- ofn.lStructSize = sizeof(ofn);
- ofn.hwndOwner = m_hWnd;
- ofn.lpstrFilter = _T("Exe (*.exe)\0*.exe\0 (*.*)\0*.*\0");//
- ofn.lpstrInitialDir = _T("D:\\Program Files");//
- ofn.lpstrFile = szBuffer;//
- ofn.nMaxFile = sizeof(szBuffer)/sizeof(*szBuffer);
- ofn.nFilterIndex = 0;
- ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_EXPLORER ;// OFN_ALLOWMULTISELECT
- BOOL bSel = GetOpenFileName(&ofn);
이렇게 하면 파일 선택 대화 상 자 를 열 수 있 습 니 다.필요 한 파일 을 선택 할 수 있 습 니 다.szBuffer 는 선택 한 파일 경 로 를 저장 합 니 다.
2.폴 더 대화 상 자 를 여 는 방법:
- TCHAR szBuffer[MAX_PATH] = {0};
- BROWSEINFO bi;
- ZeroMemory(&bi,sizeof(BROWSEINFO));
- bi.hwndOwner = NULL;
- bi.pszDisplayName = szBuffer;
- bi.lpszTitle = _T(" :");
- bi.ulFlags = BIF_RETURNFSANCESTORS;
- LPITEMIDLIST idl = SHBrowseForFolder(&bi);
- if (NULL == idl)
- {
- return;
- }
- SHGetPathFromIDList(idl,szBuffer);
위의 코드 는 선택 폴 더 대화 상 자 를 열 수 있 습 니 다.
3.파일 이나 폴 더 대화 상자 의 호출 을 선택 하 십시오:
- TCHAR szBuffer[MAX_PATH] = {0};
- BROWSEINFO bi;
- ZeroMemory(&bi,sizeof(BROWSEINFO));
- bi.hwndOwner = NULL;
- bi.pszDisplayName = szBuffer;
- bi.lpszTitle = _T(" :");
- bi.ulFlags = BIF_BROWSEINCLUDEFILES;
- LPITEMIDLIST idl = SHBrowseForFolder(&bi);
- if (NULL == idl)
- {
- return;
- }
- SHGetPathFromIDList(idl,szBuffer);
위의 코드 를 사용 하면 필요 에 따라 파일 이나 폴 더 를 선택 할 수 있 습 니 다.빨리 와 서 해 봐!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C++학습:파일 대화 상자 열기 및 폴 더 열기 대화 상자다양한 응용 프로그램 때문에 파일 대화 상 자 를 열 거나 폴 더 대화 상 자 를 열 거나 둘 다 사용 해 야 합 니 다.지금 이 상황 을 만 나 이미 해결 되 었 으 니,이 박문 을 특별히 써 라. 1.파일 대화 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.