|
|
Фрагменты диалогов предназначены для построения собственных диалоговых панелей на основе стандартных диалоговых фрагментов системы 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+ | Руководство пользователя
|
|
|
|
|
|