Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2025, 20:09   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 689
По умолчанию Сделать фокус на предмете неактивной формы

Хотел сделать такой вот код, но он выдал ошибку в процессе исполнения
Код:
    E.SetFocus;
    If F.ShowModal ...
Где E - TEdit на форме F

Вопрос: как сделать фокус на E при том что я запускаю форму через ShowModal?
Kronos913 вне форума Ответить с цитированием
Старый 16.08.2025, 00:54   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,890
По умолчанию

Так до ShowModal форма не отображена, то есть фокус передать некуда. Надо до ShowModal установить значение свойства ActiveControl второй формы.

В качестве примера, на Form2 есть 2 TEdit. На Form1 две кнопки. При нажатии первой открывается вторая форма с передачей фокуса первому TEdit, при нажатии второй - второму. Код Unit1:

Код:
uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ActiveControl:=Form2.Edit1;
  Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Form2.ActiveControl:=Form2.Edit2;
  Form2.ShowModal;
end;

Последний раз редактировалось Arigato; 16.08.2025 в 01:02.
Arigato вне форума Ответить с цитированием
Старый Вчера, 00:59   #3
xxbesoxx
Участник клуба
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Сообщений: 1,404
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
как сделать фокус на E при том что я запускаю форму через ShowModal?
Код:
var
  Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if  (Form2.ShowModal=1) then
  begin
     Form2.Edit1.SetFocus;
  end
  else
   Form1.Edit1.SetFocus;

end;

end.
xxbesoxx на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать ячейку активной / неактивной по условию Cluster Microsoft Office Excel 10 31.07.2015 09:50
Постоянный заголовок у активной/неактивной формы Kvadra256 Общие вопросы Delphi 4 24.10.2014 01:29
Как сделать хэндлер для неактивной формы? AlienNation C# (си шарп) 1 25.07.2012 22:18
Как сделать неактивной кнопку печати в окне предварительного просмотра PSZ Microsoft Office Excel 0 05.11.2010 15:29
Заголовок Child формы имеет цвет неактивной формы, хотя форма активна? PrimaryPro Общие вопросы Delphi 0 12.03.2010 11:12