0

使用 Visual Studio C++ 2010。

目前在 MFC 代码的窗口中,我有一个网格。如果我调整窗口大小(手动拖动角),我希望网格“变小”,但是当我调整窗口大小时,网格实际上是完全静态的,因此例如将窗口大小调整为非常小的尺寸会导致边缘网格成为窗口的可见性之外。

我注意到此窗口中的其他“对象”(特别是我拥有的 MFC 按钮,例如“取消”)确实随窗口缩放,并且在我将窗口调整为较小尺寸时不会消失。它们跟随窗口的边缘,就好像它们被赋予了智能相对坐标而不是我的网格遵循的绝对坐标。

目前我在这里使用网格http://www.codeproject.com/Articles/8/MFC-Grid-control-2-27虽然我高度怀疑这不是问题的根源(有一个示例代码使用它,并且调整大小的行为符合预期;我无法编译它,但我运行了 exe 示例)。我最近从 MSFlexGrid 切换(因为它不支持 64 位),但是在以前的版本中,当我使用 MSFlexGrid 时,它也没有这个问题。

我认为它可能是 .rc 文件中的某种窗口属性或对象属性,但我比较了文件并没有发现任何线索。

4

1 回答 1

0

没有像窗口属性这样的东西,它告诉窗口将大小调整为父级的大小。

如果按钮改变大小和位置,您可能正在使用某种负责调整子控件大小的类。

对您的网格遵循相同的操作,或通知网格有关父大小的更改并相应地调整网格大小。

于 2012-06-12T21:01:30.400 回答