我希望防止TPageControl的后代拥有除tsTabs以外的Style属性。
乍一看,我试图重写SetStyle,但它在基类中被声明为私有。有人有主意吗?
发布于 2016-10-19 17:27:37
TPageControl本机不支持您所要求的内容。要完成你想要的,你必须:
Style属性,然后让setter退出而不做任何操作。但是,如果组件的用户确实希望访问该属性,则继承的Style属性在技术上仍然可以在运行时访问。TCustomTabControl而不是TPageControl派生组件,并重新实现TPageControl所做的一切,但不提升受保护的Style属性。但是,如果组件的用户确实希望访问该属性,则继承的Style属性在技术上仍然可以在运行时访问。CreateParams()方法,并在TCreateParams.Style字段中强制使用TCS_TABS窗口样式。Style属性仍然具有用户分配的任何值(这也会影响TabPosition属性的行为),但至少底层窗口的行为总是像使用tsTabs样式一样。TCustomTabControl.SetStyle()并使其返回而不执行任何操作。https://stackoverflow.com/questions/40133287
复制相似问题