调用一个CFileDialog类,它的lpszFilter参数用来通过后缀过滤文件。
如果要支持多个后缀,msdn介绍的方法是将上面的参数设成:
szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";
我试了很长时间都失败了。最后才发现,msdn下面还有一行Note:
Note, however, that if you plan to use this string to directly update the OPENFILENAME structure, you should delimit your strings with the null character, (\0), instead of the vertical bar (|).
觉得很高深的样子,看了OPENFILENAME 半天,没弄懂,最后发现他提到lpszFilter参数,随手该一下这个参数“.tsm文件 (*.tsm)\0*.tsm\0All Files (*.*)\0*.*\0\0”,结果完全好用~~~我晕啊~~~
网上有时候的东西真的误人子弟啊~~