【问题标题】:How do I use the "new" Common Item Dialog with wxwidgets?如何在 wxwidgets 中使用“新”公共项目对话框?
【发布时间】:2020-01-12 11:52:12
【问题描述】:

我想用 wxwidgets 创建一个文件打开对话框,它使用 Win-Vista 和更新版本下的 Common Item Dialog 的“新”样式。有没有办法做到这一点?使用 wxFileDlg() 我得到一个对话框,如右侧所示,但我想得到左边的对话框...... both dialogs

【问题讨论】:

  • 通过发布您的一些代码,向我们展示您迄今为止所做的尝试
  • 你的意思是wxFileDialog
  • @micha,相信wx中没有实现Vista风格的文件对话框。显示一些代码,希望我们可以正确地指导您。

标签: c++ windows wxwidgets uiappearance


【解决方案1】:

我今天遇到了这个问题,所以我想我会在这里为下一个遇到同样问题的人发帖。如果我猜的话,您的代码调用了dialog.Center()dialog.CenterOnParent()。我已经发布了一个冗长的解释为什么会发生这种情况here

从我今天花在这上面的所有时间来看,您必须选择是要拥有旧的公共控件对话框并使其居中,还是使用新的公共项目对话框并将其显示在 Windows 左上角.

好消息是 Visual Studio、Word、Excel、Firefox、Chrome 和许多其他工具都使用新对话框,它们都在应用程序窗口的左上角打开。

【讨论】:

    【解决方案2】:

    wxWidgets 中包含的dialogs 示例显示了“新样式”文件对话框的示例,如果您使用例如“Dialogs|File operations|Save dialog”菜单项(或者直接按Ctrl+S),没什么特别的。如果这对您不起作用,请检查您是否

    1. 不使用某些古老版本的 wxWidgets。
    2. 在您的应用程序中有正确的清单。
    3. 不在对话框中使用任何自定义控件,因为这些控件仅在旧样式版本中受支持。

    【讨论】:

    • 我刚刚下载了最新的 wxWidgets 3.1.2 并编译了对话框示例。你是对的,保存对话框是新的,而打开显示的是旧的,我想这是一个很好的开始,看看我的应用程序发生了什么。
    猜你喜欢
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2011-12-23
    • 2017-12-08
    相关资源
    最近更新 更多