通用对话框专题之文件对话框
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);
}
是不是很爽啊! 再告诉你个秘密,下回贴的是文件夹对话框了! 注意顶哦!呵呵.
第一个专题就先选通用对话框吧,这个很使用的,大部分人编程都会遇到使用它的,好,废话少说,下面就演示文件对话框的使用了.
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);
}
是不是很爽啊! 再告诉你个秘密,下回贴的是文件夹对话框了! 注意顶哦!呵呵.
相关文章推荐
- 多字节之通用对话框_读写文件
- GetOpenFileName --打开文件通用对话框
- 使用与 Win32API 文件通用对话框打开对话框
- 用VC6打开XP风格通用文件对话框
- 通用对话框专题之打印和页面设置对话框
- 使用文件和通用对话框——模仿windows记事本程序Part2
- 通用对话框专题之查找替换对话框
- 调用系统通用对话框打开文件/文件夹
- 一个Win32SDK的通用的打开、保存文件的对话框的调用
- 通用对话框专题之字体对话框
- 主题:重载通用文件对话框
- 打开文件通用对话框
- WIN32通用控件之打开对话框获取文件路径
- 通用对话框专题之颜色对话框
- 通用对话框的魔术--文件消失之谜
- win7,xp通用的打开文件浏览对话框的方法
- 在 Delphi 下自定义通用对话框------自定义打开文件对话框
- 通用对话框专题之浏览文件夹对话框
- 新锐OA特性专题 - 通用文件在线编辑
- MFC 选择文件对话框/打开目录对话框