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

Фрагменты диалогов

Диалоговые компоненты JS+
Фрагменты диалогов предназначены для построения собственных диалоговых панелей на основе стандартных диалоговых фрагментов системы Windows. Все фрагменты диалогов JS+ являются полными или максимально совместимыми аналогами соответствующих фрагментов, имеющихся в популярных средах программирования C++ Builder и Delphi.

Ниже представлены диалоговые компоненты языка JS+:

TDirectoryListBox
Определяет диалоговый фрагмент, позволяющий сделать выбор каталога (папки) файловой системы, представленной в виде списков.

TDirectoryOutline
Определяет диалоговый фрагмент, позволяющий сделать выбор каталога (папки) файловой системы, представленной в виде дерева.

TDriveComboBox
Определяет диалоговый фрагмент, позволяющий сделать выбор накопителя информации.

TFileListBox
Определяет диалоговый фрагмент, позволяющий сделать выбор файла.

TFilterComboBox
Определяет диалоговый фрагмент, позволяющий сделать выбор фильтра на имена файлов.

Пример: диалоговый фрагмент TFileListBox (JS+)
// Главная форма
frm=new TForm();
frm.Caption="JS+ - Фрагменты диалогов";

// Строка состояния
stb=new TStatusBar(frm);
stb.SimpleText=" Выберите диск/папку/файл/фильтр";

// Метка диска
ldc=new TLabel(frm);
ldc.Left=10;
ldc.Caption="Диск:";

// Диски
dcb=new TDriveComboBox(frm);
dcb.Left=ldc.Left+ldc.Width+5;
dcb.Top =10;
dcb.Width=200;
dcb.Drive=getWinDir().charAt(0);
dcb.OnChange=xxx_Change;
ldc.Top=dcb.Top+(dcb.Height-ldc.Height)/2;

// Папки
dlb=new TDirectoryListBox(frm);
dlb.BorderStyle=bsSingle;
dlb.Left=ldc.Left;
dlb.Top =dcb.Top+dcb.Height+5;
dlb.Width =dcb.Left+dcb.Width-ldc.Left;
dlb.Height=dlb.Width*1.5;
dlb.Directory=getWinDir();
dlb.OnChange=xxx_Change;

// Метка фильтра
lfc=new TLabel(frm);
lfc.Left=dlb.Left+dlb.Width+10;
lfc.Top =ldc.Top;
lfc.Caption="Фильтр:";

// Фильтры
fcb=new TFilterComboBox(frm);
fcb.Left=lfc.Left+lfc.Width+5;
fcb.Top =dcb.Top;
fcb.Width=350;
fcb.Filter=
"Документы (doc, ppt, xls)|*.doc;*.ppt;*.xls|"+
"Изображения (bmp, gif, jpg, ico, png)|*.bmp;*.gif;*.jpg;*.ico;*.png|"+
"Программы (bat, com, exe)|*.bat;*.com;*.exe|"+
"Все файлы|*.*";
fcb.ItemIndex=fcb.Items.Count-1;
fcb.OnChange=xxx_Change;

// Файлы
flb=fcb.FileList=new TFileListBox(frm);
flb.BorderStyle=bsSingle;
flb.Left=dlb.Left+dlb.Width+10;
flb.Top =dlb.Top;
flb.Width =fcb.Left+fcb.Width-lfc.Left;
flb.Height=dlb.Height;
flb.Directory=dlb.Directory;
flb.OnChange=xxx_Change;

frm.ClientWidth =flb.Left+flb.Width+10;
frm.ClientHeight=flb.Top+flb.Height+stb.Height+10;

frm.ShowModal();

// Обработчик событий OnChange
function xxx_Change(src)
{
  var stb_Str="";

  switch (src) {
    case dcb:// Диск
    stb_Str=flb.Directory=
    dlb.Directory=dcb.Drive.toUpperCase()+":\\";
    break;

    case dlb:// Папка
    if ((stb_Str=flb.Directory=dlb.Directory).length>3)
      stb_Str+="\\";
    break;

    case flb:// Файл
    stb_Str=flb.FileName;
    break;

    case fcb:// Фильтр
    stb_Str="Выбрана маска: "+fcb.Mask;
  }

  stb.SimpleText=" "+stb_Str;
}
Совместимость
C++ Builder/Delphi
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/Dialog/Fragment.htm
© 2024,