Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Автозаполнение Combobox в VFP / 16 сообщений из 16, страница 1 из 1
04.05.2008, 11:05
    #35291725
zerost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
т.к. я ещё новичок, то есть проблемы в написании программ на VFP
значит суть проблемы: есть программка в которой используется Combobox заполненный определёнными значениями на этапе разработки!
После запуска программы, чтобы когда в Combobox ввожу в ручную какой-то первый символ, то чтобы список раскрылся (это знаю как сделать) и указатель переходил на строку в которой первая буква слова совпадает с буквой введённой в Combobox в ручную..., затем после ввода второй буквы в поле, указатель должен переместиться дальше, на строку со словом первые буквы которого совпадают с ведёнными руками и т.д.
Пытался делать со свойствами компонента selstart, seltext и sellength, ничего не выходит... ((
Если возможно, то напишите кусочек кода!!!

За ранее огромное спасибо!
...
Рейтинг: 0 / 0
04.05.2008, 11:12
    #35291737
Автозаполнение Combobox в VFP
Что-то не так делаешь. Комбо сам умеет все это делать без допдвижений.
...
Рейтинг: 0 / 0
04.05.2008, 12:58
    #35291972
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Свойство Combo.style = 2

Дальше комбик сам разрулит.

Заодно посмотри по _INCSEEK System Variable


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.05.2008, 14:10
    #35292168
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
*InterActiveChange
WITH This
	LOCAL cText, cT, i
	cText=ALLTRIM(.DisplayValue)
	FOR i= 1  TO .ListCount	
                  IF PROPER(cText)=PROPER(SUBSTR(ALLTRIM(.List(i)),  1 , LEN(cText)))
		   cT=RTRIM(SUBSTR(ALLTRIM(Ima), LEN(cText)+ 1 ))
		   .Value=cText+cT
		   .SelStart=LEN(cText)
		   .SelLength=LEN(cT)
	      ENDIF
	ENDFOR
ENDWITH
Приблизительно так...
...
Рейтинг: 0 / 0
05.05.2008, 13:25
    #35294231
zerost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
проходящий.Что-то не так делаешь. Комбо сам умеет все это делать без допдвижений.
Если его поставить на форму не меняя ни каких свойств, то не делает то, что надо..., может надо изменить какое свойство... я не знаю!
Galyamov Rinat
Свойство Combo.style = 2

Дальше комбик сам разрулит.
Нет, не оно!
Изменяя это свойство, не получаю, то что нужно..., получается так: ввёл я одну букву и указатель перещёл на строку слово которой совпадает с введённой буквой и это слово из строки сразу же появляется в поле комбобокса...

А мне нужно при раскрытом combo ввести одну букву и чтобы указатель перешел на слово в списке начинающееся на такую же букву, НО чтобы это слово не появлялось в поле, чтобы в поле оставалась попрежнему введёная мною буква , после я должен ввести вторую букву и чтобы указатель сместился на строку слово которой начинается на те 2 буквы которые я ввёл, в поле должны остаться 2 буквы которые я ввёл и так далее..., ввожу 3-ю букву, в поле combo остаются 3 моих буквы, а указатель перемещается дальше на строку в которой слово начинается на эти 3 символа которые я ввёл... и так далее по мере введения символов...
Help me please! :)
...
Рейтинг: 0 / 0
05.05.2008, 13:55
    #35294317
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
В чистом виде такого нет - делай свой контрол из textbox и listbox


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
05.05.2008, 14:16
    #35294397
zerost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Нет, тут просто надо что-то написать в процедуре InterActiveChange данного компонента... и так думаю что-то со свойствами SelStart, SelLength, но у меня не получилось...
...
Рейтинг: 0 / 0
05.05.2008, 14:18
    #35294403
Рома Б.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Я тебе выложу завтра-послезавтра пример ComboBox'а. Но там чёкнешься. Просто заказчик упёртый был. Надо задействовать методы InteractiveChange, DropDown, LostFocus и KeyPressed. Корректно обрабатывать клавиши <Delete> и <BackSpace>, значимые пробелы, полные совпадения текста в разных строках таблицы. Единственно, у меня всё-таки показывается весь текст, а не только введённые символы, однако невведённые символы - с подсветкой, как в примере от MiklS. Я выкладывал этот пример уже, но по теме работы с кладрами. Ссылки давно убили. Если времени в обрез - откажись от этой затеи. Для большинства задач стандартные возможности ComboBox'а - неплохой компромисс. Хотя признаю - убожество.
...
Рейтинг: 0 / 0
05.05.2008, 16:22
    #35294862
zerost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Рома Б. выложи пожалуйсто, если тебе не так трудно, буду очень благодарен, время пока есть... и вообще мне реализация данной проблемы очень интересна!
...
Рейтинг: 0 / 0
05.05.2008, 16:30
    #35294890
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Если используется VFP9, то можно использовать текстбокс с автозаполнением.
...
Рейтинг: 0 / 0
06.05.2008, 07:42
    #35295827
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
> Автор: Dag
> Если используется VFP9, то можно использовать текстбокс с
> автозаполнением.

Единственно таблицу самому заполнять и следить, чтобы во время работы туда
пользовательский ввод не попадал.

По моему проще создать свой контрол.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.05.2008, 13:04
    #35296657
zerost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
DagЕсли используется VFP9, то можно использовать текстбокс с автозаполнением.
Нет, используется 8-ая версия!
Рома Б.Единственно, у меня всё-таки показывается весь текст, а не только введённые символы, однако невведённые символы - с подсветкой,
Так даже будет ещё лучше..., в отличие от моего варианта который я хотел!
Galyamov RinatПо моему проще создать свой контрол.
Пока я этого не умею! ((
...
Рейтинг: 0 / 0
06.05.2008, 13:15
    #35296698
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
> Пока я этого не умею! ((

Создаешь библиотеку классов. Создаешь класс на базе класса control или
custom.
Запихиваешь туда контролы textbox и listbox.
Разруливаешь их поведение так как считаешь правильным для твоей задачи.

Поверь - это будет лучше в твоем варианте, т.к. ПОЛНОСТЬЮ менять поведение
стандартного контрола довольно таки проблематично.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.05.2008, 13:36
    #35296791
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
наврал про custom. Конечно же не custom а contaner.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.05.2008, 21:46
    #35298166
Рома Б.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Вот. Ковыряйся. Читай kladr.doc. Архив - 37 МБ (кладр тяжёлый). В combobox'ах также работа с фильтрами осуществлена. Так надо было. Выкинь фильтры.
...
Рейтинг: 0 / 0
07.05.2008, 09:28
    #35298638
zerost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение Combobox в VFP
Рома Б. , спасибо! Сейчас скачаю, буду разбираться!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Автозаполнение Combobox в VFP / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]