Forms Delphi选项卡顺序
Delphi(Embarcadero®Delphi®2010 14.0版)中我的表单上的选项卡顺序不正确,这意味着tab键会跳转到表单中看似随机的项目 然而,当我在Delphi中更改它时,它会以同样错误的顺序为我重新排列它们 因此,我决定以编程方式分配它们:Forms Delphi选项卡顺序,forms,delphi,tab-ordering,Forms,Delphi,Tab Ordering,Delphi(Embarcadero®Delphi®2010 14.0版)中我的表单上的选项卡顺序不正确,这意味着tab键会跳转到表单中看似随机的项目 然而,当我在Delphi中更改它时,它会以同样错误的顺序为我重新排列它们 因此,我决定以编程方式分配它们: procedure FixDelphiTabOrder; begin Form2.ButtonClear.TabOrder := 2000; Form2.ButtonExport.TabOrder := 1900; Form2.
procedure FixDelphiTabOrder;
begin
Form2.ButtonClear.TabOrder := 2000;
Form2.ButtonExport.TabOrder := 1900;
Form2.ButtonNew.TabOrder := 1800;
Form2.MaxFreq.TabOrder := 1700;
Form2.MinFreq.TabOrder := 1600;
Form2.Summary.TabOrder := 1500;
Form2.Plot6dB.TabOrder := 1400;
Form2.Plot3dB.TabOrder := 1300;
Form2.Use_dBs.TabOrder := 1200;
Form2.PlotPoints.TabOrder := 1100;
Form2.PlotPhase.TabOrder := 1000;
Form2.Prop8Value.TabOrder := 900;
Form2.Prop7Value.TabOrder := 800;
Form2.Prop6Value.TabOrder := 700;
Form2.Prop5Value.TabOrder := 600;
Form2.Prop4Value.TabOrder := 500;
Form2.Prop3Value.TabOrder := 400;
Form2.Prop2Value.TabOrder := 300;
Form2.Prop1Value.TabOrder := 200;
Form2.FilterType.TabOrder := 100;
ShowMessage(IntToStr(Form2.Prop1Value.TabOrder));
end;
(我试着前后分配它;它做同样的事情。)
但这仍然不起作用。每次弹出的消息框都是7而不是100。有些东西一直在改变顺序,但这不是我的代码
为什么会这样,有可能修复它吗
这是用于我的A2计算项目的
TabOrder
是连续的。第一个控件具有0
的TabOrder
。接下来是1
的TabOrder
,依此类推。你不能留下任何空隙
虽然您可以通过编程方式分配TabOrder
,但我个人认为使用GUI这样做最简单。右键单击表单或容器控件,然后选择Tab Order菜单项。然后您将看到如下对话框:
您可以使用箭头按钮重新排序,也可以简单地拖动项目重新排序。在我看来,它工作得相当好,但您必须记住,包含其他控件(例如面板、选项卡等)的控件有自己的选项卡顺序。对于这样一个控件,您需要选择该控件,右键单击,然后修改该容器子级的选项卡顺序。如果我理解得很好,可以在设计时提供帮助 下面您可以看到一个功能。CnPack可以在您将组件放入表单时显示选项卡顺序。当您有许多编辑、按钮或面板时,这会有所帮助。
另一个功能是“在表单中自动设置选项卡顺序”按钮,该按钮使用每个控件的位置来设置选项卡顺序,以定义其选项卡顺序。按下按钮后,请参见下表。 我发现它们在设计大表单时非常有用。 另一个选项是具有相同“按位置排序”功能的选项卡顺序屏幕:
我设置选项卡顺序的方法是,按照您希望的选项卡顺序选择每个组件,然后将控件剪切到剪贴板(CTRL-X),然后再次粘贴(CTRL-V)。太多了。我想这意味着如果我想在中添加一些新内容,就需要大量的重新订购。啊,是的,BBC微新闻。我有一辆B型车。
REN 10,10
好像响了一个铃铛!如果未使用组件的Tag属性,则可以将特定的“TabOrder”值指定给Tag属性,然后创建一个过程,以编程方式根据标记值设置tab顺序。然后,您可以轻松地插入带有中间标记的新组件,并让tab order过程自动进行排序。谢谢。这是固定的,现在我的程序更有用。“DavidHeffernan,我期待看到<代码> TrkButks<代码>。”戴维认为已经完成了。抱歉,我落后了。+1非常好的回答,展示了两个非常有用和强大的答案tools@FabricioAraujo-实际上,对于一些控件,这是一种非常快速的方法。我会用它!如果你有很多,我推荐你