(Wywołać = spowodować aby był widoczny na pierwszym planie)
Mam w programie kilka formularzy zadokowanych na zagnieżdżonych zakładkach.
formularze sa umieszczane na zakładkach dynamicznie, więc nie wiem gdzie która będzie.
W efekcie otrzymam coś w tym stylu:
FormularzGlowny
PageControl_I
tabsheet1
Form1
tabsheet2
Form2
tabsheet3
PageControl_II
tabsheetA
formA
tabsheetB
formB
Chciałbym mieć możliwość wyciągnięcia na wierzch wskazanego formularza (mam dostęp do obiektu).
Napisałem procedurę, która po rodzicach przechodzi do góry wyciągając po kolei każdą kontrolkę na wierzch.
procedure ShowControl(aWCntrl: TWinControl);
begin
if assigned(aWCntrl.parent) then begin
if (aWCntrl is TTabSheet) and (aWCntrl.Parent is TPageControl) then
TPageControl(aWCntrl.Parent).ActivePage := TTabSheet(aWCntrl);
ShowControl(aWCntrl.Parent);
end else begin
aWCntrl.Show;
end;
end;
Pytanie do Was: czy jest jakaś prostsza metoda, bardziej uniwersalna, a może nawet jest jakiś mechanizm do tego, wbudowany w VCL?