C语言打开文件对话框—并送至ListBox控件显示

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

参考文档一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值