tabbedsheet на одной странице browse и edit

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
OlegW
Сообщения: 1
Зарегистрирован: Чт, 14/04/2011 11:05
Имя Фамилия: Олег В

tabbedsheet на одной странице browse и edit

Сообщение OlegW »

Приветствую!
Как описать программно расположение на одном листе tabbedsheet обьекты Таблица (browse) и Edit'ы?
Слева таблица, а справа поля для ввода.
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: tabbedsheet на одной странице browse и edit

Сообщение n0where »

+ screen
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: tabbedsheet на одной странице browse и edit

Сообщение larin »

На одну вкладку TabbedSheet можно поместить только один Screen, один Browse, один Embedded, одно Memo.

Чтобы на одну вкладку TabbedSheet одновременно поместить два элемента например "Screen + Browse" их нужно вынести в отдельный VipInterface и встроить в контейнер Embedded.
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: tabbedsheet на одной странице browse и edit

Сообщение n0where »

Код: Выделить всё

panel scr_Main;
  screen scr_buttons show at (,,,2);
  fields
        date_enable   : NoProtect;
        date_1        : NoProtect, pickButton;
        date_2        : NoProtect, pickButton;
  buttons
        cmDoUpdate;
        cmDOExportExcel;
<<
<. Обновить окно .>  <. Экспорт в Excel .>  [.] Дата` с .@@@@@@@@@@ по .@@@@@@@@@@
>>
  end;

  tabbedsheet ts_tabbedsheet show at (,3,,);
    browse b_Error_1 'Error 1';
    table
      tmp_error_1;
    fields
       tmp_error_1.tPodr  'У'             : [1], protect;
       tmp_error_1.cPodr  'Подразделение' : [10], protect;
       tmp_error_1.cMol   'МОЛ'           : [10], protect;
       tmp_error_1.cMc    'МЦ'            : [10], protect;
       tmp_error_1.cParty 'Партия'        : [10], protect;
       tmp_error_1.Kol    'Кол-во'        : [4], protect;
       tmp_error_1.eRRoR  'Ошибка'        : [10], protect;
    end;
    browse b_Error_2 'Error 2';
    table
      tmp_error_2;
    fields
       tmp_error_2.DOC_dcr'Дескр'         : [4], protect;
       tmp_error_2.DOC_t  'Тип'           : [10], protect;
       tmp_error_2.DOC_n  'Номер'         : [10], protect;
       tmp_error_2.DOC_d  'Дата'          : [8], protect;
       tmp_error_2.eRRoR  'Ошибка'        : [10], protect;
    end;
  end;
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: tabbedsheet на одной странице browse и edit

Сообщение cruger »

larin писал(а):Чтобы на одну вкладку TabbedSheet одновременно поместить два элемента например "Screen + Browse" их нужно вынести в отдельный VipInterface
А вот и нет. В отдельный интерфейс можно и не выносить. Можно вынести в отдельное окно и встроить его.

Код: Выделить всё

vipinterface www licensed(free);

interface www;
create view as
select * from x$files,x$fields f1,x$indexes,x$fields f2
where ((xf$code==f1.xe$filecode and xf$code==xi$filecode and xi$filecode==f2.xe$filecode and xi$fieldcode==f2.xe$code));

var selfWWW: www; //эту переменную будем встраивать в себя

window embWin; //это окно будем встраивать в свою панельку
browse brIndexes;
show at (,,,15);
table x$indexes;
fields
xi$name;
xi$number;
xi$part;
end;

screen scFields;
show at (,16);
table f2;
fields
f2.xe$name;
<<

 .@@@@@@@@@@@@@@@@@@@@@

>>
end;
end; //window embWin

//главное окно интерфейса
browse brFiles; //статическая панелька
show at (,,25);
table x$files;
fields
xf$name;
end;

tabbedsheet tabbed; //область, переключаемая закладками
show at (26);

browse brFields 'Поля'; //обычная закладка
table f1;
fields
f1.xe$name;
end;

embedded emb 'Индексы' interface selfWWW.embWin; //на эту закладку встраиваем указанное окно указанной переменной
end;
end;

handleevent
cminit: selfWWW := Self; //присваиваем переменной для встраивания ссылку на себя же
end;
end.
Ответить