打开并另存为对话框位置

时间:2012-12-10 09:46:38

标签: windows winapi

您好我使用Visual Studio 2010.我使用OPENFILENAME结构和函数GetSaveFileName GetOpenFileName来显示另存为(打开)对话框。问题是它第一次启动时会出现在屏幕的左上角(0,0)。这看起来非常糟糕,用户总是倾向于在使用之前在屏幕中间移动窗口。不,我看起来到处解决这个问题并没有找到任何最终答案。我已经设置了窗口的所有者,但没有帮助。我也试过挂钩它在hookProcedure中设置窗口位置。但是(对于一些奇怪的)原因总是会改变对话风格,而且它也只是第一次有效。下次显示窗口时,对话框与parrent窗口的左上角对齐。我只是不明白。

我还尝试使用新的IFileOpenDialog和IFileSaveDialog,但它没有编译(我使用的是Windows 7) - 未定义的标识符。我是否需要包含除windows.h之外的其他内容?

最后一件事......我也需要程序在XP中正确运行(IFileDialogue是在Vista中引入的,我并不真正了解它是否向后兼容)。

非常感谢。

0 个答案:

没有答案