C 언어로 파일 대화 상자 열기 - ListBox 컨트롤 표시로 보내기

1485 단어
				OPENFILENAME ofn;	//           
				TCHAR szOpenFileName[80 * MAX_PATH];
				memset( szOpenFileName, 0, sizeof( szOpenFileName ) );
				ZeroMemory( & ofn, sizeof( ofn ) );	//   OPENFILENAME       
				ofn.lStructSize =sizeof( OPENFILENAME );	//  
				ofn.hwndOwner = hwnd;	//    (  )
				ofn.lpstrFile = szOpenFileName;	//   
				ofn.lpstrFile[0] = '\0';
				ofn.lpstrTitle = TEXT( "    " );	//     
				ofn.nMaxFile = sizeof( szOpenFileName );		//    
				ofn.lpstrFilter = TEXT( "      ( wav,mp3, wma )\0*.wav;*.mp3;*.wma\0wav  \0*.mp3\0wma  \0*.wma\0\0" );																//    
				ofn.nFilterIndex = 1;
				ofn.lpstrInitialDir = NULL;
				ofn.Flags = OFN_ALLOWMULTISELECT| OFN_EXPLORER | OFN_HIDEREADONLY ;
				//ofn.lpfnHook = NULL;

				if ( GetOpenFileName( &ofn ) )
				{				
					//     ,OPENFILENAME         
					TCHAR fileName[MAX_PATH];TCHAR *p;p = szOpenFileName + ofn.nFileOffset;// p                 
					while ( *p )
					{
						ZeroMemory( fileName, sizeof( fileName ) );
						lstrcat( fileName, p );
						HWND hwndList = GetDlgItem( hwnd, IDC_LISTMUSIC );
						SendMessage( hwndList, LB_INSERTSTRING, 0, ( LPARAM )fileName );//       ListBox   
						p += lstrlen( p ) + 1; // p         
					}
					SendMessage( GetDlgItem( hwnd, IDC_LISTMUSIC ), LB_SETCURSEL, 0, 0 );
				}

ListBox 부분 속성 설명: Single은 단일 선택이고 Multiple은 다중 선택입니다.Extended Ctrl 키를 누를 때 여러 항목을 선택할 수 있습니다.
참조 문서 1

좋은 웹페이지 즐겨찾기