Wystąpiła u mnie pomroczność jasna (za dużo souku z gumijagód).
Robię szablon formy do edycji danych i chciałbym aby po przejściu w tryb edycji focus ustawił się w pierwszej kontrolce edycyjnej.
Ponieważ jest to szablon nie wiem jaka/która kontrolka będzie pierwsza, wymodziłem coś takiego:
var
i, tabOrder, idx : integer;
begin
tabOrder := GroupBox2.ControlCount;
for I := 0 to GroupBox2.ControlCount - 1 do
if GroupBox2.Controls[i] is TWinControl then
if TWinControl(GroupBox2.Controls[i]).TabOrder < tabOrder then
begin
tabOrder := TWinControl(GroupBox2.Controls[i]).TabOrder;
idx := GroupBox2.Controls[i].ComponentIndex;
end;
TWinControl(Components[idx]).SetFocus;
end;
Działa tak jak chciałem ale może da się to zrobić prościej?