Visual c++ 将CFormView停靠在SDI中

Visual c++ 将CFormView停靠在SDI中,visual-c++,mfc,sdi,Visual C++,Mfc,Sdi,我有一个SDI应用程序[MFC],带有两个spitter,可将视图分为3个视图。在这里,我实现了CFormview,它在所有3个视图中都有CListCtrl/CtreeCtrl 我想要的是使控件适合应用程序中的屏幕。CTRL不适合屏幕,并且在喷吐器膨胀或收缩时无法缩放。那么如何实现适合屏幕的功能呢 谢谢CFormView的大小是静态的,通常是滚动的。所以这不是你真正的解决办法。 所以不要使用CFormView 您可以使用拆分器窗口再次拆分每个窗格,以按住树的ctrl键和列表的ctrl键。 如果不

我有一个SDI应用程序[MFC],带有两个spitter,可将视图分为3个视图。在这里,我实现了CFormview,它在所有3个视图中都有CListCtrl/CtreeCtrl

我想要的是使控件适合应用程序中的屏幕。CTRL不适合屏幕,并且在喷吐器膨胀或收缩时无法缩放。那么如何实现适合屏幕的功能呢


谢谢

CFormView的大小是静态的,通常是滚动的。所以这不是你真正的解决办法。 所以不要使用CFormView

您可以使用拆分器窗口再次拆分每个窗格,以按住树的ctrl键和列表的ctrl键。 如果不需要文档/视图,请创建自己的CWnd,其中包含CListCtrl和CTreeCtrl,并覆盖WM_大小并调整其中两个子控件的大小

使用CView作为父视图也会起作用,再次覆盖WM_大小,以便to子视图控制fir进入视图的完整区域


如果您使用CWnd或CView作为父类,请考虑使用IsDialogMessage处理两个窗口之间使用VK_选项卡的键盘切换…

当拆分器更改窗口接收WM_大小的任何窗格窗口的大小时。将WM_大小处理程序添加到CFormViews,并在该函数中调整子控件的大小以适合。WM\U SIZE将传递给您新的大小和m\U一些控制。MoveWindow。。。可用于调整每个控件的大小。

可以调整CFormView的大小。这样做的主要障碍是对话框必须具有可调整大小的边框。另外,我几乎可以肯定这里的覆盖应该是覆盖的,如果你是德国人,那么这几乎可以肯定。