|
OnCanClose - событие диалогов TOpen/Save[Picture/TextFile]Dialog
|
|
|
Наступает перед закрытием диалога с выбором файла.
Синтаксис
function OnCanClose(
| Sender, | CanClose
| );
|
Параметры
|
Параметр
| Тип
| Описание
|
Sender
| TComponent
| дескриптор диалога
|
CanClose
| TBoolean
| разрешить закрытие диалога. CanClose.Value=true - разрешить (значение по умолчанию)
|
|
// Главная форма frm=new TForm(); frm.Caption="JS+ - событие диалогов TOpen/Save[Picture/TextFile]Dialog OnCanClose"; 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.ReadOnly=true; mem.ScrollBars=ssBoth;
frm.ShowModal();
// Обработчик события OnClick function btn_Click(btn) { var dlg;
// Диалог with (dlg=new TOpenDialog(frm)) { Title="Открытие файла ..."; Options+=ofShareAware; Filter="INI-файлы (*.ini)|*.ini|Все файлы (*.*)|*.*"; FilterIndex=0; DefaultExt="ini"; InitialDir=getWinDir(); OnCanClose=dlg_CanClose; }
if (dlg.Execute()) { if (dlg.Options & ofExtensionDifferent) alert("Это не INI-файл"); else { mem.LoadFromFile(dlg.FileName); stb.SimpleText=" Открыт файл: "+dlg.FileName; } }
dlg.Delete(); }
// Обработчик события OnCanClose function dlg_CanClose(dlg,CanClose) { var spl_lst=dlg.FileName.split("\\"),n=spl_lst.length-1;
if (spl_lst[n].toLowerCase().indexOf(".ini")<0) { alert("Допускается выбор только ini-файлов!"); CanClose.Value=false; } }
|
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|