gpt4 book ai didi

c++ - DialogBoxParam 和 GetOpenFileName

转载 作者:行者123 更新时间:2023-11-28 03:42:14 32 4
gpt4 key购买 nike

首先,这是我的配置:

VS2010/Debug/C++ Win32 Project/Vista Home Premium

通过窗口 (CreateWindow) 中的按钮 (CreateWindow) 调用 GetOpenFileName 没问题:打开对话框工作正常,我可以单击、导航到另一个文件夹等...

现在,我将 CreateWindow 替换为 DialogBoxParam(应该在幕后调用 CreateWindow),使用相同的 ( DLGPROC)WndProc 并调用相同的 GetOpenFileName。在这里,“打开”对话框的行为很奇怪:看起来只有鼠标双击有效(= 填充 ofn.lpstrFile 并关闭“打开”对话框)。无法单击“打开”和“取消”按钮,也无法导航。

有没有人遇到过这种情况? “打开”对话框“卡住”的任何已知原因。是否属于 parent (ofn.hwndOwner = hwnd; ofn.hwndOwner = NULL;) 给出了同样的问题。

谢谢N

最佳答案

你写的

with the same (DLGPROC)WndProc

那是你的错误。对话过程和窗口过程不是一回事。它们遵循不同的规则,如果您在应该遵循 DlgProc 规则的时候遵循 WndProc 规则,那么就会发生不好的事情。

关于c++ - DialogBoxParam 和 GetOpenFileName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8783157/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com