StackPanel in MFC

StackPanel in MFC

本文关键字:MFC in StackPanel      更新时间:2023-10-16

我感到沮丧,因为我知道Stackpanel不在MFC中。

我正在制作UI,我必须垂直堆叠控件。

如果我使用的是WPF,我可以使用StackPanel,但是我想问您有关如何在MFC中进行的建议。

thnk你非常

MFC中没有任何实现StackPanel功能的东西。如果您想堆叠控件,则必须在代码或资源编辑器中自己执行此操作。

从Visual Studio 2015开始,MFC已更新,以包括对动态布局的支持。当调整对话框时,这有助于自动重新安排控件,但仍然无法为您提供StackPanel的全部功能。

使用MFC,您必须手动执行此操作或找到为您完成的第三方代码。E. g。看看CodeProject。

要独自进行布局,您必须知道每个控件需要多少空间显示其内容。

某些控件具有计算其"理想"大小的方法,e。g。:

  • CButton::GetIdealSize()
  • CRichEditCtrl::RequestResize(),计算丰富的编辑控制最小尺寸

某些控件(例如CStatic(不提供此类方法。在这种情况下,您可能会成功使用使用标志DT_CALCSIZECDC::DrawText()成功计算其大小(别忘了首先将控件字体选择到设备上下文中以获得准确的测量(。

在其他情况下,如果无法进行计算,则可以假设对控件的固定尺寸。