使用PropSheetLook_OneNoteTabs样式动态调整CMFCPropertySheet的大小
我正在尝试动态调整使用PropSheetLook_OneNoteTabs样式动态调整CMFCPropertySheet的大小,mfc,mfc-feature-pack,Mfc,Mfc Feature Pack,我正在尝试动态调整CMFCPropertySheet的大小,以便在每个页面的底部添加一个自定义控件 由于所有属性页的高度都不相同,因此我有一种机制可以在必要时增加大小。 为此,我已经覆盖了激活页面的方法,通过使用SetWindowPos,我可以调整工作表的大小,首先是选项卡控件,然后是页面,最后可以移动确定/取消/帮助按钮 它适用于PropSheetLook\u OutlookBar和PropSheetLook\u选项卡样式,但不适用于PropSheetLook\u onenotetab样式。页
CMFCPropertySheet
的大小,以便在每个页面的底部添加一个自定义控件
由于所有属性页的高度都不相同,因此我有一种机制可以在必要时增加大小。
为此,我已经覆盖了激活页面的方法,通过使用SetWindowPos
,我可以调整工作表的大小,首先是选项卡控件,然后是页面,最后可以移动确定/取消/帮助按钮
它适用于PropSheetLook\u OutlookBar
和PropSheetLook\u选项卡
样式,但不适用于PropSheetLook\u onenotetab
样式。页面(或选项卡)大小调整不正确(页面的浅灰色无法填充工作表)
OneNote风格
外观风格
有什么想法吗?一个MFC功能包错误?我发现了问题。需要通过GetTab()
获得对OneNote
版本使用的不同选项卡控件的引用,并相应调整其大小。只需按照中的说明操作即可。
尽管这些说明适用于CPropertySheet,但它们也适用于CMFCPropertySheet
代码的某些部分已弃用,因此您需要进行以下修改
完全跳过XmnPropSheetCallback和DoModal实现
在OnInitDialog
中,只需调用CPropertySheet::OnInitDialog();
,然后调用OnSize
,而不是执行代码中显示的所有操作
页面的上边缘看起来像什么?