Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Каким образом можно осуществить такую подсказку:


MisterBin ©   (2002-05-12 12:23:00) 

Имеется Edit1.
Мне нужно чтобы при вводе слова срабатывала подсказка. т.е. рядом добавлялись возможные варианты слов. Такое можно встретить во многих программах. Привидите пожалуйста пример на такие слова:

сообщение 1-1
сообщение 2-2
сообщение 3-3

Т.е., если я ввожу "с", то через две секунды отображается вариант "сообщение 1-1", а как только я дохожу до "сообщения 1-" подсвечивается вариант "сообщение 1-1"


MisterBin   (2002-05-13 15:54:00) [1]

Большое спасибо lipskiy. Это как раз то, что надо и дажн больше!


777   (2002-05-12 18:35:00) [2]

не совсем понятно очём речь, куда рядом?
в соседний компонент?
в сам Edit1?
если имеется ввиду что-то типа iecombobox, то:

var IsChanged:Boolean=false;

function SrchNearest(Edit:TEdit;S:Tstrings):boolean;
var
i,z:integer;
b:boolean;
begin
z:=0;
b:=false;
while (b=false) do
begin
if strPos(PChar(S[z]),PChar(Edit.Text))<>NIL then
begin
i:=Length(Edit.Text);
Edit.Text:=S[z];
Edit.SelStart:=i;
Edit.SelLength:=Length(Edit.Text);
b:=true;
end;
z:=z+1;
if z=S.Count then b:=true;
Application.ProcessMessages;
end;
result:=false;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
if IsChanged=true then IsChanged:=SrchNearest(Edit1,ListBox1.Items) else IsChanged:=true;
end;


Song   (2002-05-12 17:38:00) [3]

Недавно тут один голову ломал. Посмотрите может неделю назад.


lipskiy   (2002-05-12 17:00:00) [4]

http://delphibase.endimus.com/?action=viewfunc&topic=vclservice&index=3


Наверх

Титульная страница Поиск, карта сайта Написать письмо