Цитата:
Сообщение от Guamoko
Добрый день.В основной форме можно ли создать нов. диалог. окно(подформу),появляющееся при нажатии на
P.Button1 = Props.NewButton("Название");
P.Button1.SetLayout(10, 12, 100, 22);
и пропадающее при нажатии OK, передавая изменения в основную форму?
спасибо.
|
День добрый. Да, подформу создать можно.Ниже пример создания такой подформы. На главной форме кнопка, вызывающая подформу и числовое поле для вывода результата. При запуске подформы главная форма скрывается, а при закрытии подформы, она снова показывается. При нажатии кнопки "ОК" на подформе, в числовое поле на главное форме пишется значение "34" - один из примеров передачи данных в главную форму.
PHP код:
//вторая форма (подформа)
var childForm = NewForm('Вторая форма');
//включаем кнопки "Ок" и "Отмена"
childForm.OKButton = true;
childForm.CancelButton = true;
//Главная форма
var mainForm = NewForm('Главная форма');
var mainProps = mainForm.Properties;
//Кнопка, при нажатии которой вызывается подформа
var btn1 = mainProps.NewButton('button');
btn1.Align = AlignType.Top;
btn1.AlignWithMargins = true;
btn1.Layout.Top = 0;
//Числовое поле, в которое будет записывать результат подформа
var num = mainProps.NewNumber('Num');
num.Value = 0;
num.Align = AlignType.Top;
num.Layout.Top = 20;
num.AlignWithMargins = true;
//обработчик нажатия на кнопку
btn1.OnClick = function(){
// скрываем главную форму
mainForm.Visible = false;
// задаем обработчик нажатия кнопиик "Ок" на подформе
childForm.OnOkButtonClick = function (){
num.Value = 34;
// После смены значения в поле, поле не обновляется
// поэтому задаем ему положение, заставляя обновиться
num.Layout.Top = 20;
}
// обработчик закрытия подформы
childForm.OnClose = function (){
// восстанавливаем видимость главной формы при закрытии подформы
mainForm.Visible = true;
}
// вызываем подформу
childForm.Show();
}
//вызываем главную форму
mainForm.Show();