Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перехват текста до отображения в Edit, Как реализовать? 
:(
    Опции темы
ivan219
  Дата 17.3.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Каким образом можно перехватить текст в водимый через клавиатуру, буфер обмена, и программно, до появления его в Edit???
PM MAIL ICQ   Вверх
Alexeis
Дата 17.3.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Например обработчик KeyDown вызывается до отображения теста. Да и вообще не ясно, в чем же вопрос. Перехват же и так происходит до выполнения...


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ivan219
Дата 17.3.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Нет если использовать OnCange то текст сночало отрисовывается а потом обрабатывается.
PM MAIL ICQ   Вверх
ama_kid
Дата 17.3.2007, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 15
Всего: 95



Если это собственный контрол (а не элемент управления чужого окна), то можно просто сабклассировать этот едит и перехватывать сообщение WM_SETTEXT...


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
ivan219
Дата 18.3.2007, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Цитата(ama_kid @  17.3.2007,  23:59 Найти цитируемый пост)
Если это собственный контрол (а не элемент управления чужого окна), то можно просто сабклассировать этот едит и перехватывать сообщение WM_SETTEXT...

Да это мой контрол написанный от TEdit.

А можно по подробнее что значит сабклассировать???
PM MAIL ICQ   Вверх
VladBD
Дата 18.3.2007, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



OnKeyPress - тоже подойдет.
Использую для проверки введенных символов - например нужны только числовые данные - пишу обработчик:
Код

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key не число then Key:='';
end;

Ну а если программно вставляется текст - то OnChange и обрабатывай как надо...
Если ненужный символ успевает появляться в Edit - это не значит что его тут же нельзя найти и удалить...
PM MAIL   Вверх
VICTAR
Дата 18.3.2007, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 37
Всего: 80



Цитата(ivan219 @  18.3.2007,  00:30 Найти цитируемый пост)
А можно по подробнее что значит сабклассировать??? 


Код

TMyEdit= class (TEdit)


читать здесь

Это сообщение отредактировал(а) VICTAR - 18.3.2007, 00:47
PM MAIL   Вверх
ivan219
Дата 18.3.2007, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



VladBD, Да обработка текста реализованна я работал через OnCange и всё нутём но если использоват его то когда в водиш текст иногда он в Edit мирцаеш т.е. сночало он прорисовался в Edit то что в водим с клавиатуры потом обработался моей процедурой и снова выводит.

VICTAR, А значит я так и зделал да и спасибо за сылку почитаю.
PM MAIL ICQ   Вверх
VladBD
Дата 18.3.2007, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



ну тогда ввод организуй через OnKeyPress, а программно и через буфер обмена - свои события ставь...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0774 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.