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键时可多选;