您好,我使用 Visual Studio 2010。我使用 OPENFILENAME 结构和函数 GetSaveFileName GetOpenFileName 来显示另存为(打开)对话框。问题是它第一次启动时出现在屏幕的左上角 (0,0)。这看起来真的很糟糕,用户总是倾向于在使用它之前将窗口移动到屏幕中间。不,我到处寻找解决这个问题的方法,但没有找到任何最终答案。我已经设置了窗口的所有者,但它没有帮助。我也尝试过挂钩它在 hookProcedure 中设置窗口位置。但是那个(出于某种奇怪的)原因总是会改变对话风格,而且它只在第一次起作用。下次显示窗口时,对话框将与父窗口的左上角对齐。我只是不明白。
我也尝试使用新的 IFileOpenDialog 和 IFileSaveDialog 但它没有编译(我使用 Windows 7) - 未定义的标识符。我是否需要包含 windows.h 以外的内容?
最后一件事......我还需要程序在 XP 中正确运行(IFileDialogue 是在 Vista 中引入的,我真的不明白它是否向后兼容)。
非常感谢。