JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

OnCanClose

- событие диалогов TOpen/Save[Picture/TextFile]Dialog
Наступает перед закрытием диалога с выбором файла.
Синтаксис
function OnCanClose(
  Sender,
  CanClose
);

Параметры
Параметр Тип Описание
Sender TComponent дескриптор диалога
CanClose TBoolean разрешить закрытие диалога.
CanClose.Value=true - разрешить (значение по умолчанию)
Пример (JS+)
// Главная форма
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+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/Dialog/Event/Common/OnCanClose.htm
© 2024,