Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Delphi Как определить активную форму? (очистка едитов на форме)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Delphi Как определить активную форму? (очистка едитов на форме)
Имя
Сообщение << Старые топики   Новые топики >>
Delphi Как определить активную форму? (очистка едитов на форме) - 2008-02-10 18:58:23.366666   
jestki

Сообщений: 3
Оценки: 0
Присоединился: 2008-02-10 18:47:54.656666
// Данная процедура очищает все едиты на форме active_form.

procedure u_FormClear(active_form:TForm;active_comp:TWinControl);
var
i: Integer;
begin
// Очистка едитов
for i := 0 to active_form.ComponentCount - 1 do
begin
if (active_form.Components is TcxTextEdit) then (active_form.Components as TcxTextEdit).Clear;
end;

// Фокус в элемнт
active_form.FocusControl(active_comp);
end;


1. Как сделать чтобы она очищала все едиты без ввода active_form, тоесть как получить название формы, в методе onShow?
2. Как установить фокус на первый едит на форме?

Спасибо.
Post #: 1
RE: Delphi Как определить активную форму? (очистка едитов на форме) - 2008-02-10 20:09:26.093333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
 Не понял.А чем плохо перебрать все формы и посмотреть if Form1.Active=true и т.д. ? Ну,в смысле, Active посмотреть токо по-человечески,если не знаешь их количество. А едит-он в чем "первый"? Tag у них проставь разное,"первому"=1 и тоже проверять.ActiveControl ещё мона прописать для формы,чтоб это был тот самый едит.
Post #: 2
RE: Delphi Как определить активную форму? (очистка едитов на форме) - 2008-02-10 23:20:42.583333   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34

quote:

ORIGINAL: jestki

// Данная процедура очищает все едиты на форме active_form.

procedure u_FormClear(active_form:TForm;active_comp:TWinControl);
var
i: Integer;
begin
// Очистка едитов
for i := 0 to active_form.ComponentCount - 1 do
begin
if (active_form.Components is TcxTextEdit) then (active_form.Components as TcxTextEdit).Clear;
end;

// Фокус в элемнт
active_form.FocusControl(active_comp);
end;


1. Как сделать чтобы она очищала все едиты без ввода active_form, тоесть как получить название формы, в методе onShow?
2. Как установить фокус на первый едит на форме?

Спасибо.

1. Если я правильно понял чего спрашивается, то self - то, что нужно
2. TabOrder используй.
Post #: 3
RE: Delphi Как определить активную форму? (очистка едитов на форме) - 2008-02-11 23:58:40.243333   
boombox.exe

Сообщений: 16
Оценки: 0
Присоединился: 2008-01-26 12:21:36.283333
ИМХО я бы использовал функцию EnumWindowsProc c бесконечным циклом.
Post #: 4
RE: Delphi Как определить активную форму? (очистка едитов на форме) - 2008-02-12 10:14:03.220000   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
А помоему самы логичный вариант решения проблемы предложил Genco, я бы так и сделал.
только вот автор что то пропал… хоть бы спасибо сказал, или спросил, может чё непонятно О_о
Post #: 5
RE: Delphi Как определить активную форму? (очистка едитов на форме) - 2008-02-13 00:13:50.130000   
boombox.exe

Сообщений: 16
Оценки: 0
Присоединился: 2008-01-26 12:21:36.283333
Эээммм… обьясню: Genco сказал перебрать формы, я сказал подробней какой функцией, потом просто добавить if IsWindowsVisible(h) then нужные действия.
Post #: 6
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Delphi Как определить активную форму? (очистка едитов на форме)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.