"EhLib.Com" https://forum.ehlib.com/ru/ |
|
Фокус на SearchPanel в DropDown форме (з) https://forum.ehlib.com/ru/viewtopic.php?f=4&t=2893 |
Страница 1 из 1 |
Автор: | Cinemaizer [ 10 дек 2019, 13:20 ] |
Заголовок сообщения: | Фокус на SearchPanel в DropDown форме (з) |
Все привет! Подскажите как реализовать фокусировку курсора на SearchPanel в DropDown форме, если она (панель) имеет Location: splGridTopEh (внутренняя, вверху) ? Попытка повесить на событие onShow на форме такой код, приводит к AV: Код: procedure TfrmDR_DOWN_GETTING_CLIENT.CustomDropDownFormEhShow( Sender: TObject); begin TWincontrolEh(grMAINTABLE1.SearchPanel).SetFocus; end; А такой код, приводит к AbstractError: Код: procedure TfrmDR_DOWN_GETTING_CLIENT.CustomDropDownFormEhShow(
Sender: TObject); begin if TWinControlEh(grMAINTABLE1.SearchPanel).CanFocus then TWinControlEh(grMAINTABLE1.SearchPanel).SetFocus; end; |
Автор: | OlegX [ 11 дек 2019, 10:14 ] |
Заголовок сообщения: | Re: Фокус на SearchPanel в DropDown форме |
Можно так попробовать: Код: 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 форме пробовал. |
Автор: | EhLibSupport [ 12 дек 2019, 16:21 ] |
Заголовок сообщения: | Re: Фокус на SearchPanel в DropDown форме |
Добрый день. Попробуйте в событии OnShow установить SearchPanel.Active Код: procedure TForm1.FormShow(Sender: TObject);
begin DBGridEh1.SearchPanel.Active = True; end; |
Автор: | Cinemaizer [ 12 дек 2019, 16:39 ] |
Заголовок сообщения: | Re: Фокус на SearchPanel в DropDown форме |
Все получилось! Спасибо! |
Страница 1 из 1 | Часовой пояс: UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |