- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于跨平台奇偶校验的原因,我的 GetOpenFileName()
未指定所有者,并且我自己明确禁用了所有顶级窗口。问题是重新启用。 In order to re-enable these windows correctly ,我需要在对话框关闭之前重新启用它们。
对于用户选择文件的情况,这不是问题:我只需在 Hook 过程中检查 CDN_FILEOK
即可。没有问题,没有焦点困惑。
除了取消对话框之外,我该如何做同样的事情?
我已经在 Hook 过程中尝试了WM_DESTROY
,但是它在对话框被隐藏之后运行(太晚了)。我已经尝试过 WM_COMMAND
,但这似乎并不能涵盖所有情况。我不确定我还有什么其他选择。
我现在需要以 Windows XP 及更高版本为目标;这也意味着没有通用项目对话框。谢谢!
替代方案:如果有一种方法可以执行基于回调的GetOpenFileName()
,将控制权返回给我的消息循环,例如使用 beginSheetModalForWindow:
的 Mac OS X,我可以指定父窗口并避免这种 hack。
最佳答案
取消对话框时没有 CDN 通知。如果用户按下取消按钮,您可以尝试拦截 BN_CLICKED
它发送到对话框的通知,甚至是按钮本身的子类。但如果用户通过其他方式取消对话框(单击红色 X、按 ESC 等),您可能必须捕获 WM_CLOSE
消息。
关于c - 当用户在 GetOpenFileName() 中选择取消时,是否有类似于 CDN_FILEOK 的 CDN_FILECANCEL 之类的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494914/
出于跨平台奇偶校验的原因,我的 GetOpenFileName() 未指定所有者,并且我自己明确禁用了所有顶级窗口。问题是重新启用。 In order to re-enable these windo
我是一名优秀的程序员,十分优秀!