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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2015, 19:16   #1
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
Сообщение Получение фокуса

Подскажите можно ли определить каким способом ( клавиатурой или мышью) был получен фокус edit'ом? Или есть какое событие которое по клику мыши срабатывает раньше чем OnEnter?
Andre44 вне форума Ответить с цитированием
Старый 08.12.2015, 19:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

События такого скорее нет чем есть. (хотя OnClick вроде еще не отменили)
А зачем тебе это нужно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2015, 20:09   #3
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

OnClick Не спасает, т.к. он обрабатывается позже OnEnter. А надо что бы по клику мыши первый раз выделялся тект.

Код:
procedure TForm2.edit1Click(Sender: TObject);
begin
  if SelectEdit then
    begin
      edit1.SelectAll;
      SelectEdit:=False;
    end;
end;

procedure TForm2.edit1Exit(Sender: TObject);
begin
  SelectEdit:=true;
end;
Это в принципе работает, но если фокус по Tab, то уже при фокусе по первому клику текст выделяется тоже, а этого быть уже не должно.

Последний раз редактировалось Stilet; 08.12.2015 в 20:19.
Andre44 вне форума Ответить с цитированием
Старый 08.12.2015, 20:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
т.к. он обрабатывается позже OnEnter.
а OnMouseDown?
Цитата:
а этого быть уже не должно.
Не понял... Чего быть не должно? Пропиши в OnEnter отмену выделения, а в OnClick выделение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2015, 20:27   #5
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
а OnMouseDown?

Его тоже пробовал.

Не понял... Чего быть не должно? Пропиши в OnEnter отмену выделения, а в OnClick выделение.
Текст доолжен выделяться когда по неактивному едиту кликаешь мышкой, а так как у меня написано, если едит получил фокус по таб, то выделение вполне естественно, но если после этого кликнуть мышкой, то тект снова выделится, пока логическая переменная не станет false. Вот этого выделения уже быть не должно.
Andre44 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отловить получение фокуса другим приложением to-to Общие вопросы .NET 1 25.09.2011 11:09
Потеря фокуса Naive JavaScript, Ajax 1 16.11.2010 05:53
смена фокуса Alt Общие вопросы Delphi 2 13.10.2010 11:08
Как написать событие на получение фокуса кнопкой? chandrasecar Общие вопросы Delphi 5 30.06.2010 19:25
Использование фокуса prikolist Общие вопросы C/C++ 1 27.03.2009 22:57