Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TEdit


Автор: Ksen 21.6.2006, 15:55
Здравствуйте!
Подскажите, пожалуйста, как можно узнать активность компоненты TEdit?
Вообще, на форме находится три TEdit....нужно узнать на какой из трёх Edit стоит пользователь? 

Автор: Poseidon 21.6.2006, 16:08
Проверяй Focused 

Автор: Yanis 21.6.2006, 16:10
Может имеет смысл переделать под свои нужды OnEnter?
Код
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure MyEditEnter(Sender: TObject);
  public
    { Public declarations }
  end;
procedure TForm1.MyEditEnter(Sender: TObject);
begin
  ShowMessage((Sender as TEdit).Name+'.Text = ' + (Sender as TEdit).Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.OnEnter := MyEditEnter;
  Edit2.OnEnter := MyEditEnter;
  Edit3.OnEnter := MyEditEnter;
end;
  

Автор: Poseidon 21.6.2006, 16:11
Код

var
i: integer;
begin
for i:=0 to ControlCount-1 do
  if controls[i] is TEdit
  then
    if TEdit(controls[i]).Focused
    then ShowMessage('"Активен" компонент '+TEdit(controls[i]).Name)
end;
 

Автор: Yanis 21.6.2006, 16:12
А вообще свойство Focused. См. пример Poseidon'а. 

Автор: Ksen 22.6.2006, 09:16
Ой, спасибо, с focused все получилось)) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)