我有一些控件的TTabControl(Delphi XE7 Firemonkey应用程序)。一切正常,标签也很好。现在我需要用复选框为一个面板着色。将 TRectangle 添加到此面板,并将复选框的父项设置为此 TRectangle。界面看起来不错,但现在此复选框不在选项卡顺序列表中,并且未收到 tabstop 命令。
如何解决这个问题?
如何重现:添加到表单 TRectangle,添加 3 个复选框,使用"结构"面板将一个 CheckBox3 移动到 TRectangle(将 TRectangle 设置为复选框 3 的父级)。运行此应用程序并尝试使用 Tab 键导航。您无法导航到复选框3!
您要么必须手动将TabOrder
设置为某个(合理的)值,因为TShape
没有发布它,因此设置为-1
(它与TabStop = False
执行相同的操作),或者不将TCheckBox
放在TRectangle
中,只需将其放在TRectangle
前面,以便它绘制TRectangle
。
另一种选择是根本不使用TRectangle
并更改TPanel
的样式:右键单击设计器中的面板并选择 Edit Custom Style...
.然后选择为您新创建的样式(例如 panel1style: TRectangle
),并根据需要更改Fill
属性。单击Apply and Close
,您就完成了。通过使用样式,可以为任何一开始可能看起来很简单的控件创建复杂外观。有关详细信息,请参阅 http://docwiki.embarcadero.com/RADStudio/XE7/en/Customizing_FireMonkey_Applications_with_Styles 和相关主题。