- Рейтинг
- 2
Добрый день. При написании GUI на Mel возникла следующая проблема: Я хочу чтобы при нажатии на кнопку из внешней процедуры изменялись элементы окна - к примеру в scrollfield появлялся некий текст. Ниже привожу текст скрипта для создания окна. Интересует следующее, можно ли изменять элементы в окне из внешней процедуры? Нужно ли каждый раз убивать и заново рисовать окно при каждом таком изменении?
global proc WindowGUI()
{
if (`window -exists WindowGUI`) deleteUI WindowGUI;
window -t "Window GUI Form" -widthHeight 300 300 -rtf true -sizeable false WindowGUI; //инициализация окна
string $form = `formLayout`;
string $BackgroundImage = ` picture -width 300 -height 300 -image "Background.png"`; // Фоновая картинка, 300х300
string $SelectionScrollField = `scrollField -wordWrap false -w 200 -h 200 -cl -enable false -editable false`; // поле для текста
string $Button_ShowText = `button -label "Show text on Form" -w 160 -h 25 -command ShowTextOnForm Button_ShowText`; // Кнопка, запускает процедуру ShowTextOnForm
formLayout -edit
-attachForm $SelectionScrollField "top" 50
-attachForm $SelectionScrollField "left" 50 // размещаем панель на форме
-attachForm $Button_ShowText "top" 260
-attachForm $Button_ShowText "left" 70 // размещаем кнопку на форме
$form;
showWindow WindowGUI;
}
global proc ShowTextOnForm()
{
//?! Как управлять окном WindowGUI из этой процедуры
}
WindowGUI;
{
if (`window -exists WindowGUI`) deleteUI WindowGUI;
window -t "Window GUI Form" -widthHeight 300 300 -rtf true -sizeable false WindowGUI; //инициализация окна
string $form = `formLayout`;
string $BackgroundImage = ` picture -width 300 -height 300 -image "Background.png"`; // Фоновая картинка, 300х300
string $SelectionScrollField = `scrollField -wordWrap false -w 200 -h 200 -cl -enable false -editable false`; // поле для текста
string $Button_ShowText = `button -label "Show text on Form" -w 160 -h 25 -command ShowTextOnForm Button_ShowText`; // Кнопка, запускает процедуру ShowTextOnForm
formLayout -edit
-attachForm $SelectionScrollField "top" 50
-attachForm $SelectionScrollField "left" 50 // размещаем панель на форме
-attachForm $Button_ShowText "top" 260
-attachForm $Button_ShowText "left" 70 // размещаем кнопку на форме
$form;
showWindow WindowGUI;
}
global proc ShowTextOnForm()
{
//?! Как управлять окном WindowGUI из этой процедуры
}
WindowGUI;