Вверх ↑
Этот топик читают: Гость
Ответов: 186
Рейтинг: 9
#1: 2010-12-30 07:48:53 ЛС | профиль | цитата
Привет всем.
Использую Edit для реализации интерактивного поиска.
code_21964.txt
Решил заменить его на ComboBox для уточнения параметров поиска, но не нашел в нем onChange.
Тогда закрыл ComboBox Edit-ом оставил только стрелку для списка

Вопрос:
1. Как сделать что бы при добавлении или изменении строк список открывался сам, без нажатия на стрелку?
2. Есть ли у ComboBox аналог onChange?

code_21965.txt
карма: 0

0
файлы: 2code_21964.txt [833B] [152], code_21965.txt [999B] [147]
Разработчик
Ответов: 26164
Рейтинг: 2127
#2: 2010-12-30 08:47:00 ЛС | профиль | цитата
Chipset писал(а):
Как сделать что бы при добавлении или изменении строк список открывался сам, без нажатия на стрелку?

Вообще-то, такое не предусмотрено
Chipset писал(а):
Есть ли у ComboBox аналог onChange?

Привет, а самая верхняя правая точка разве не onChange
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#3: 2010-12-30 09:16:13 ЛС | профиль | цитата
Chipset,
1. имитируй нажатие Alt+Стрелка вниз
2. onKeyDown

ComboBox-овское onChange ему надо в режиме ReadOnly=false
т.е. нужно событие от изменения текста (от клавы) в области ввода(как в Edit)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#4: 2010-12-30 09:50:40 ЛС | профиль | цитата
Tad писал(а):
т.е. нужно событие от изменения текста (от клавы) в области ввода(как в Edit)

В классах списка такое не предусмотрено и не было никогда. Вывод изменения текста возможен только в классах Edit. К тому же, в режиме ReadOnly=false поле ввода отсутствует вообще.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#5: 2010-12-30 10:25:50 ЛС | профиль | цитата
nesco, [flood]не надо ля-ля

#pas
Вот такая одна строка делает это запросто (в Delphi)

#pas
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Label1.Caption:=ComboBox1.Text;
end;
[/flood]
[size=9][color=gray]------------ Дoбавленo в 10.24:[/color][/size]
У тебя есть нижняя точка EditText - оттуда и должно работать onChange
[size=9][color=gray]------------ Дoбавленo в 10.25:[/color][/size]
и будет оно работать и при наборе в окне и при клике.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#6: 2010-12-30 10:30:15 ЛС | профиль | цитата
Tad, мы что, в VCL работаем или в KOL
К тому же, как предполагается редактировать текст, если нет поля Текст в режиме ReadOnly=false
------------ Дoбавленo в 10.30:
Tad, я не буду ничего переделывать и доделывать. Особенно, под каждый чих пользователей. Столько лет работали "как есть", теперь приспичило onChange. А нижняя точка просто читает Capation. Короче, все остается без изменения. Если вам нужен гемор с совместимостью, можете переделывать для себя что хотите и как хотите
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#7: 2010-12-30 10:46:28 ЛС | профиль | цитата
onChange=Событие происходит всякий раз при изменении списка строк
а должно быть
"onChange=Событие происходит всякий раз при изменении текста в окне"
------------ Дoбавленo в 10.46:
При чем тут VCL или KOL ?

------------ Дoбавленo в 10.46:
Изменение текста на точке EditText происходит в любом случае и совершенно не зависит от ReadOnly=false или True и событие onChange надо брать оттуда. ИМХО.
Что, кстати я и делаю: onKeyDown+ChangeMon (танцы с бубном)

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 186
Рейтинг: 9
#8: 2010-12-30 11:04:36 ЛС | профиль | цитата
Tad писал(а):
1. имитируй нажатие Alt+Стрелка вниз
2. onKeyDown

Tad, это помогло, единственный нюанс что для Alt+Стрелка вниз необходим фокус на combobox а человек может продолжать набор, а для этого нужен edit

Tad писал(а):
ComboBox-овское onChange ему надо в режиме ReadOnly=false

Это не принципиально, просто видно в схеме так было.

Как я понял можно в коде поменять? только я в этом не силен.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#9: 2010-12-30 11:46:00 ЛС | профиль | цитата
Chipset писал(а):
Как я понял можно в коде поменять? только я в этом не силен

В честь предновогодних праздников добавлено onChangeText
карма: 22

0
Ответов: 186
Рейтинг: 9
#10: 2010-12-30 11:55:08 ЛС | профиль | цитата
nesco писал(а):
В честь предновогодних праздников добавлено onChangeText

Спасибо nesco

ВСЕХ HiAsm - ров
с НОВЫМ ГОДОМ
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#11: 2010-12-30 13:05:52 ЛС | профиль | цитата
nesco писал(а):
В честь предновогодних праздников добавлено onChangeText

В честь новогодних праздников добавить onEnter (конец ввода в окно)
В честь посленовогодних праздников добавить очищать или нет окно после onEnter в Edit и ComboBox

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#12: 2010-12-30 13:22:59 ЛС | профиль | цитата
Tad писал(а):
добавить очищать или нет окно после onEnter в Edit и ComboBox

Предложения неплохо бы снабдить приблизительной реализацией. Вот только не говори, что не можешь
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#13: 2010-12-30 13:27:58 ЛС | профиль | цитата
nesco писал(а):
Вот только не говори, что не можешь
Не могу. Сейчас на работе. Буду дома - выдам подробнее
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#14: 2010-12-30 13:45:00 ЛС | профиль | цитата
Tad писал(а):
Сейчас на работе. Буду дома - выдам подробнее

А я и не говорил, что сейчас, сейчас и я на работе
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#15: 2010-12-30 16:35:13 ЛС | профиль | цитата
Для Edit
В свойства добавлена строка

ClearAfterEnter=Освобождение поля ввода|14|0|True,False

------------ Дoбавленo в 16.30:
В коды добавлена строка "анализ свойства"

procedure THIEdit._OnKeyDown;
var dt:TData;
begin
if Assigned(_event_onEnter.Event) and( Key = 13) then
begin
if _prop_DataType(dt) then begin
If _prop_ClearAfterEnter then Fchange := true; //анализ свойства
.........
------------ Дoбавленo в 16.35:
Edit у меня давно переделано, а для ComboBox - думаю это лишнее.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)