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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2009, 16:10   #1
Stein21
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 10
По умолчанию Проблема с Edit

Создаю динамически Edit'ы, в массиве Edit'ов.
setlength(mas_edits,length(mas_edit s)+1);
mas_edits[high(mas_edits)]:=tedit.create(self);
mas_edits[high(mas_edits)].tag:=tag_edits;
mas_edits[high(mas_edits)].Parent:=Panel1;
По нажатию Enter, или по выходу - надо выполнить операции с текстом едита.
1) Обращаюсь к Sender'у обработчика onkey(для всех Edit'ов), или onexit, но Tedit(sender).text оказывается всегда пустым, хотя на форме в TEdit'e текст есть.
2) Не знаю как убрать фокус ввода со всех Edit'ов
Помогите пожалуйста.
Stein21 вне форума Ответить с цитированием
Старый 23.01.2009, 16:35   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от Stein21 Посмотреть сообщение
1) Обращаюсь к Sender'у обработчика onkey(для всех Edit'ов), или onexit, но Tedit(sender).text оказывается всегда пустым, хотя на форме в TEdit'e текст есть.
(Sender as TEdit).Text - вот так в обработчике OnKeyPress ,например, попробуй ...
Цитата:
Сообщение от Stein21 Посмотреть сообщение
2) Не знаю как убрать фокус ввода со всех Edit'ов
Помогите пожалуйста.
Вот об этом по подробнее - скажи что хочешь
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 23.01.2009 в 16:41.
Kotofff вне форума Ответить с цитированием
Старый 23.01.2009, 19:57   #3
Stein21
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 10
По умолчанию

1) Сорри, с Текстом всё работало - ошибку в коде нашёл.
2) надо чтобы по ноажатию Enter или по выходу из Edit'а он терял фокусс ввода, и другие Edit'ы его тоже не преобретали, пока на них не нажмут. Пробую form1.setfocus - но фокус остаётся на едите...
Stein21 вне форума Ответить с цитированием
Старый 24.01.2009, 07:29   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

У тебя кроме Edit`ов есть еще контролы ? Вот им можно передавать фокус по Enter с любого Edit`а или при выходе с того же Edit`а ...здесь уже было где-то : у всех Edit`ов по событию OnKeyPress пишешь
Код:
if Key=#13 then ДругойКонтрол.SetFocus; //передать фокус после нажатия Enter
... а на событие OnExit просто
Код:
ДругойКонтрол.SetFocus;
Если я правильно понял твою проблему - все должно работать ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 24.01.2009, 22:05   #5
Stein21
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 10
По умолчанию

Проблема в том что нет других контроллеров. Кроме Edit'ов только меню, панель управления, просто панель и форма. А на скрытые edit'ы и кнопки я так понял фокус ставить нельзя..
Stein21 вне форума Ответить с цитированием
Старый 24.01.2009, 22:09   #6
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Цитата:
и кнопки я так понял фокус ставить нельзя
Странно, до недавнего времени на кнопки фокус отлично ставился
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 24.01.2009, 22:35   #7
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

в окошках ТАБом пощелкайте и посмотрите на что есть таб, на что нету.
Роман Радер вне форума Ответить с цитированием
Старый 24.01.2009, 22:37   #8
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Если нету, значит разработчики специально убрали эту возможность. Посмотрите в других приложениях, фокус должен быть. И попробуйте создать форму + 2 кнопки. Каков Result? True ?
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 25.01.2009, 00:47   #9
Stein21
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Dj_smart Посмотреть сообщение
Странно, до недавнего времени на кнопки фокус отлично ставился
Вообще-то я про скрытые кнопки у которых Visible=false. Тогда можно былоб сделать скрытую кнопку и если фокус на едитах не нужен убирать его на кнопку, а так как она скрытая его бы тоже не было, но так вроде нельзя. Прогу я сам пишу и фокус может быть передан только Edit'ам, сколько на Tab не нажимай. Изначально, когда неодного Edit'a нету - нету и фокуса. Так вот по нажатию Enter'а мне нужно убрать фокус со всех едитов, как в первоначальном положении, с тем лашь отличием, что Edit'ы есть, а фокуса нигде нет.
Может кто помочь?
Stein21 вне форума Ответить с цитированием
Старый 25.01.2009, 00:52   #10
Stein21
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 10
По умолчанию

Кстати, когда динамически удаляю Edit, фокус тоже пропадает и на другие Edit'ы не становится. Нужно тоже самое и при Enter'e и при onExit, только Edit не удалять.
Stein21 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Edit Editor Общие вопросы Delphi 10 25.06.2008 19:52
Edit ) Karl_Karlovi4 Общие вопросы Delphi 5 28.11.2007 18:46
Edit niva622 Помощь студентам 10 06.09.2007 17:36
Edit PAVEL315 Компоненты Delphi 10 14.03.2007 18:58