Можно так попробовать:
Код:
TDBGridEhHelper = class helper for TDBGridEh
private
function GetSearchPanelControl(): TDBGridSearchPanelControlEh;
public
property SearchPanelControl: TDBGridSearchPanelControlEh read GetSearchPanelControl;
end;
Код:
function TDBGridEhHelper.GetSearchPanelControl(): TDBGridSearchPanelControlEh;
begin
Result := Self.FSearchPanelControl;
end;
И затем grid.SearchPanelControl.FindEditor.SetFocus;
Но! C первого раза не сработет (у меня, по крайней мере, не отрабатывает), только после того, как единожды фокус будет помещён кликом мыши.
Непосредственно в OnShow тоже не будет работать - нужно разносить, например, через сообщение:
Код:
const
WM_TEST = WM_APP + 201;
type
TformTest = class(TForm)
protected
procedure WMTest(var &Message: TMessage); message WM_TEST;
end;
procedure TformTest.WMTest(var &Message: TMessage);
begin
grid.SearchPanelControl.FindEditor.SetFocus;
end;
ЗЫ. И я не на DropDown форме пробовал.