我有一个使用TNotebook在不同子页面之间切换的应用程序,如图所示。
现在,我必须对这段代码进行一些扩展(即添加一个页面并更改大小)。
有人告诉我,TNotebook不应该再使用了。在Delphi的帮助下,我发现“新应用程序应该使用TPageControl”。
我的问题是:我应该重构代码以使用TPageControl而不是TNotebook吗?TNotebook的缺点是什么?
发布于 2013-11-14 10:52:14
在我看来,TPageControl的主要优点是它是一个系统本机控件,不像TNotebook。当您使用系统本机控件时,该控件由系统绘制,因此呈现您使用的操作系统的外观。
当应用程序在新版本的OS上运行时,您的控件将自动获得该操作系统的本机外观。更重要的是,这种行为是系统固有的。我指的是控件对键盘输入的响应方式,等等。这并不是TPageControl的问题,因为系统没有提供那么多的默认行为。但一般来说,这个建议是合理的。
如果没有任何系统本机控件满足特定要求,则可能需要使用非本机控件。然后你必须工作,以确保你的控制适应它的周围环境。但是,当存在系统本机控件时,除非有充分的理由避免它,否则您应该使用它。
发布于 2018-02-02 15:36:45
TNotebook的另一个缺点是它从继承中排除了它所处的形式或框架。
https://stackoverflow.com/questions/19975118
复制相似问题