虽然我使用的是 MFC,但我相信这主要是一个 C++ 问题。
我从中CResizingDialog
派生出CDialog
哪个是应用程序中所有对话框的基类。它使他们能够根据目标屏幕大小自动(您猜对了)调整大小。CResizingDialog 通过覆盖 CDialog 的几个虚函数来实现这一点,包括OnSize()
、OnInitDialog()
、OnPaint()
。到目前为止很好。
现在我正在添加一个属性表/页面,它也需要相同的调整大小功能,但是我不能使用 CResizingDialog 作为我的属性页的基类。这意味着我将需要一个新的基类,比如派生自CPropertyPage
它的 CResizingPage,它将包含与 CResizingDialog 相同的功能。
然而,调整对话框及其控件大小的代码是完全相同的。有没有办法以某种方式重用 CResizingDialog ?我从未使用过多重继承,这有帮助吗?