|
|
Наступает при нажатии кнопки "Найти далее".
Синтаксис
function OnFind(
| Sender
| );
|
Параметры
|
Параметр
| Тип
| Описание
|
Sender
| TFindDialog
| дескриптор диалога
|
|
var txt_pos=0,fnd_Txt="Строка";
// Главная форма frm=new TForm(); frm.Caption="JS+ - событие диалога TFindDialog OnFind"; frm.Width =600; frm.Height=450;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=' Нажмите кнопку "Найти"';
// Кнопка btn=new TButton(frm); btn.Caption="Найти"; btn.Left=frm.ClientWidth-btn.Width-10; btn.Top =stb.Top-btn.Height-10; btn.OnClick=btn_Click;
// Memo mem=new TMemo(frm); mem.BorderStyle=bsSingle; mem.SetBounds(10,10,frm.ClientWidth-20,btn.Top-20); mem.ScrollBars=ssBoth;
for (i=1;i<10;i++) mem.Lines.Add("Строка "+i);
frm.ShowModal();
// Обработчик события OnClick function btn_Click(btn) { var dlg;
// Диалог with (dlg=new TFindDialog(frm)) { Title="Поиск текста ..."; FindText=fnd_Txt; OnShow=dlg_Show; OnFind=dlg_Find; Execute(); } }
// Обработчик события OnFind function dlg_Find(dlg) { var i,n,fnd_str=dlg.FindText;
dlg.Delete();
stb.SimpleText=" Поиск текста: "+(fnd_Txt=fnd_str);
if (((i=mem.Lines.Text.indexOf(fnd_str,txt_pos))>=0) || ((i=mem.Lines.Text.indexOf(fnd_str,0))>=0)) { n=fnd_str.length; txt_pos=i+1; } else { n=0; i=txt_pos; }
mem.SelStart=i; mem.SelLength=n; mem.SetFocus(); }
// Обработчик события OnShow function dlg_Show(dlg) { stb.SimpleText=' Диалог "'+dlg.Title+'" показан'; }
|
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|