如何在 Windows 上使用 GetSaveFileName 检测“另存为类型:”组合框何时更改?

Posted

技术标签:

【中文标题】如何在 Windows 上使用 GetSaveFileName 检测“另存为类型:”组合框何时更改?【英文标题】:How can I detect when the "Save as type:" combo box changes using GetSaveFileName on Windows? 【发布时间】:2013-08-01 21:00:06 【问题描述】:

我将GetSaveFileName 用于Windows 应用程序中的另存为对话框。我想捕捉“另存为类型:”组合框何时更改并获取其当前索引,但我不确定如何。

使用我自己添加的组合框,我可以在我们已经传递的OPENFILENAME 结构中的回调 (lpfnHook) 中获取消息,并查找组合框的 ID 和 CBN_SELCHANGE通知。但我不知道“另存为类型:”组合框的 ID 是什么,或者即使我们被允许以相同的方式访问它。

有没有办法检测“另存为类型:”组合框何时更改并在GetSaveFileName 返回之前获取其当前索引?

【问题讨论】:

【参考方案1】:

如果您使用lpfnHook 指定回调,您将在用户更改类型时收到CDN_TYPECHANGE 通知消息。

【讨论】:

这是正确答案。请务必密切注意文档:“仅当使用OFN_EXPLORER 值创建对话框时,系统才会发送此通知。”

以上是关于如何在 Windows 上使用 GetSaveFileName 检测“另存为类型:”组合框何时更改?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用APACHE在windows上>?

我们如何通过 git 在 windows 上使用 linux 命令?

如何使用 Visual Studio 2017 在 Windows 上构建 OpenSSL?

如何在 Windows 上使用作曲家?

如何让 SWT 浏览器控件在 Windows 上使用 Mozilla 而不是 IE?

如何在Linux上运行Windows应用程序