【问题标题】:OpenFileDialog->Filter in windows form application in C++ does not workC++ 中的 Windows 窗体应用程序中的 OpenFileDialog->Filter 不起作用
【发布时间】:2013-08-19 11:31:51
【问题描述】:

在我的 Windows 窗体项目中,在 C++ 中,Visual 2010 中,我使用这一行的目的是为了让用户只需选择这种类型的文件:

openFileDialog1->Filter =  "Image Files(*.png, *.jpg)|*.png;*.jpg";

这一行写在openfiledialog1->ShowDialog();之前

但是当我运行项目并打开 OpenFileDialog 时,我可以看到其他格式的文件,例如 *.txt。

我的错在哪里?

非常感谢...

【问题讨论】:

    标签: c++ filter openfiledialog


    【解决方案1】:

    您正在尝试做的文档在这里:http://msdn.microsoft.com/en-us/library/ms646839(v=vs.85).aspx

    字符串需要使用空值作为过滤器不同部分的分隔符进行格式化。因此,您的字符串格式应如下所示:

    openFileDialog1->Filter =  "Image Files (*.png, *.jpg)\0*.png;*.jpg\0";
    

    【讨论】:

    • 嗨,彼得;感谢您的帮助:但在您的回答中,反斜杠必须更改为“|” ;否则项目面临未处理的异常错误:-) 所以正确的格式是:openFileDialog1->Filter = "Image Files (.png, *.jpg)|0.png;*.jpg" ;
    【解决方案2】:

    可能逗号应该是分号。也许空格(在那个逗号之后)也是不允许的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多