Показать сообщение отдельно
Старый 09.04.2018, 10:02   #19
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от 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(); 
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Guamoko (09.04.2018), Ovsyanicov (10.04.2018)