0


我需要在 MFC 中构建一个控件来显示某些文件的预览。这些文件是 3D 模型,所以我需要使用 OpenGL 来绘制它们并让用户与之交互(平移、缩放等)。

我想扩展 CFileDialog 类,因为再次在文件系统中进行导航会浪费时间,而且结果肯定会不一样。
我设法修改了 CFileDialog 资源,添加了我的子对话框:

SetTemplate( 0, MAKEINTRESOURCE( IDD_MYPREVIEWDLG ) )

但是孩子被附加在底部,而我想在右侧看到我的预览。

那可能吗?

4

1 回答 1

4

来自MSDN(重点是我的):

为了给新控件腾出空间,系统将默认对话框扩展为自定义对话框的宽度和高度。默认情况下,自定义对话框中的所有控件都位于默认对话框中的控件下方。但是,您可以覆盖此默认定位通过在您的自定义对话框模板中包含一个静态文本控件并为其分配 stc32 的控件标识符值。(该值在 Dlgs.h 头文件中定义。)在这种情况下,系统使用控件作为参考点来确定新控件的位置。stc32 控件上方和左侧的所有新控件在默认对话框中控件上方和左侧的位置相同。stc32 控件下方和右侧的新控件位于默认控件的下方和右侧。通常,每个新控件的位置都应使其相对于默认控件的位置与相对于 stc32 控件的位置相同。为了为这些新控件腾出空间,系统会根据需要在默认对话框的左侧、右侧、底部和顶部添加空间。

于 2014-04-29T07:46:35.357 回答