6.CFileDialog的文件过滤器lpszFilter写法 -windows编程

引言:关于CFileDialog的文件过滤器的写法,看了几个博客感觉都是乱七八杂的,公司内部的前人写的也是有点乱。仔细查了查微软的写法,才发现其实有写的很清晰的格式。

 

个人技术博客(文章整理+源码): https://zobolblog.github.io/LearnWinAPI/

 

最终效果:

 

 

 

1. 具体写法:

  实际上,微软的文件过滤器就是一串字符串,每个小节直接用“|”隔开。文字说明1 | 后缀1 | 文字说明2 | 后缀2 | 文字说明3 | 后缀3

 

static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|")

_T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|")

_T("*.xlc; *.xls|All Files (*.*)|*.*||");

 

  前面的“Chart Files (*.xlc)”其实都是给人眼看的,程序读取的都是后面的 *.xlc

 

源码:

 

static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|")

_T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|")

_T("*.xlc; *.xls|All Files (*.*)|*.*||");

CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter,NULL,NULL,1);

 

 

效果:

 

 

 本人个人技术博客: https://zobolblog.github.io/LearnWinAPI/ ,个人公众号:zobol的魔法藏书室,windows编程技术讨论群:811851762。

posted @ 2022-06-20 00:41  落剑仙zobol  阅读(83)  评论(0编辑  收藏  举报