您的位置:首页 > 其它

通用对话框专题之文件对话框

2008-02-19 16:06 417 查看
最近有一股小小冲动,干脆就来写一系列专题吧.

第一个专题就先选通用对话框吧,这个很使用的,大部分人编程都会遇到使用它的,好,废话少说,下面就演示文件对话框的使用了.

void CComDialogDlg::OnBtnFileDlg()
{
// TODO: Add your control notification handler code here
UpdateData();

CFileDialog dlg(TRUE/*TRUE是打开,FALSE是保存*/, NULL,NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT ,
"Text File (*.txt)|*.txt|All Files (*.*)|*.*||",this);
char szFilePath[MAX_PATH] = {0};


//dlg.m_ofn.lStructSize = sizeof(OPENFILENAME); 结构大小
//dlg.m_ofn.hwndOwner = m_hWnd; 拥有者窗口句丙
//dlg.m_ofn.hInstance 不支持
//dlg.m_ofn.lpstrFilter = "Text File (*.txt)|*.txt|All Files (*.*)|*.*||";
//dlg.m_ofn.lpstrCustomFilter 不支持
//dlg.m_ofn.nMaxCustFilter 不支持
//dlg.m_ofn.nFilterIndex = 2; 文件类型索引
dlg.m_ofn.lpstrFile = szFilePath; //文件BUFFER
dlg.m_ofn.nMaxFile = MAX_PATH; //BUFFER大小
//dlg.m_ofn.lpstrFileTitle = NULL; 接收选择的文件名、扩张名的缓存,可以是NULL
//dlg.m_ofn.nMaxFileTitle ; lpstrFileTitle指向的缓存大小,如果lpstrFileTitle = NULL,该参数忽略,
//dlg.m_ofn.lpstrInitialDir = "c:"; 初始目录
//dlg.m_ofn.lpstrTitle = "Hello World!" ; 对话框显示的时候标题栏的名称
//dlg.m_ofn.Flags = OFN_XXXX; 对话框显示标志,OFN_ALLOWMULTISELECT标志允许多选


if( IDOK == dlg.DoModal() )
{
//dlg.GetPathName( ); 得到完整的文件名,包括目录名和扩展名如:c:/1.txt
//dlg.GetFileName( ) 得到完整的文件名,包括扩展名如:1.txt
//dlg.GetExtName( ) 得到完整的文件扩展名,如:txt
//dlg.GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:1
//dlg.GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置
//dlg.GetNextPathName( pos ) 得到下一个文件位置,并同时返回当前文件名
//m_strString = szFilePath; //通过BUFFER直接得到
m_strString = dlg.GetPathName( );
}

UpdateData(FALSE);
}



是不是很爽啊! 再告诉你个秘密,下回贴的是文件夹对话框了! 注意顶哦!呵呵.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: