显示新选项卡之前的Delphi fmx tabcontrol事件

时间:2014-12-24 11:56:14

标签: delphi onchange tabcontrol firemonkey

我正在用Delphi XE7 for Windows编写FMX程序。我正在使用TabControl。当单击另一个tabitem时,我需要在活动选项卡中显示该消息。

问题是TabItem的OnClick,或TabControl的OnChange首先显示一个新选项卡,然后显示一条消息..我需要在显示新标签之前收到消息

2 个答案:

答案 0 :(得分:2)

目前还不清楚如何显示消息“在活动标签”中以及为什么要在 中显示您即将离开的标签。

如果您想在更改选项卡之前使用ShowMessage()显示消息,可以在TTabItem OnMouseDown中执行此操作:

procedure TForm4.TabItem2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  ShowMessage('TabItem2MouseDown, Active tab: '+TabControl1.ActiveTab.Name);
end;

当TabItem1处于活动状态且单击TabItem2时,上面的代码显示

  

TabItem2MouseDown,活动标签:TabItem1

当您关闭消息框时,会发生标签更改。

答案 1 :(得分:0)

我正在尝试使用上面的接受解决方案。不幸的是,在Delphi Berlin FMX中,当MouseDown事件发生时,ActiveTab已经发生了变化。

对于寻找解决方案的其他人,请参阅Delphi can Fire monkey TTabControl replicate VCL TPageControl.OnChanging event作为可能性。