我正在用Delphi XE7 for Windows编写FMX程序。我正在使用TabControl。当单击另一个tabitem时,我需要在活动选项卡中显示该消息。
问题是TabItem的OnClick,或TabControl的OnChange首先显示一个新选项卡,然后显示一条消息..我需要在显示新标签之前收到消息
答案 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作为可能性。