我有一个使用TNotebook
的应用程序在显示的不同子页面之间切换。
现在我必须稍微扩展这段代码(即添加页面并更改大小)。
有人告诉我TNotebook
不应再使用了。在Delphi的帮助下,我发现“新应用程序应该使用TPageControl”。
我的问题:我应该重构代码以使用TPageControl
代替TNotebook
吗? TNotebook有哪些不足之处?
答案 0 :(得分:3)
在我看来,TPageControl
的主要优点是它是一个系统本机控件,与TNotebook
不同。使用系统本机控件时,控件由系统绘制,因此具有您使用的操作系统本机的外观和外观。
当应用程序在新版本的操作系统上运行时,您的控件会自动获得该操作系统本机的外观。更重要的是,行为是系统原生的。我的意思是控件响应键盘输入的方式等等。这不是TPageControl
的问题,因为系统没有提供那么多的默认行为。但作为一般规则,建议是合理的。
如果系统本机控件都不符合您的特定要求,则可能需要使用非本机控件。然后你必须努力确保你的控制适应周围环境。但是当存在系统本机控制时,除非有充分理由避免它,否则你应该使用它。
答案 1 :(得分:1)
TNotebook的另一个缺点是它排除了从继承中放置它的形式或框架。