Этот код вставит и получит стринг-значение в диалоговое текстовое окошко:
//*************************************************************
//This Script was made by senior 15.07.11
var text;
class MyDialog : GeModalDialog //модальный GeModalDialog
////Это означает, что до тех пор, пока открыто диалоговое окно, остальная часть программы должна ждать,
//пока пользователь не закроет окно. Так что этот тип диалога соответствует 90% всех плагинов.
//Кроме того, он обрабатывает кнопки ОК и Cancel
{
public:
MyDialog();//Декларация конструктора
CreateLayout();//Объявление метода создания диалога
Command(id, msg);//Получение значений из полей диалога
}
MyDialog::MyDialog() {super();}//Конструктор для вызова родительского класса
MyDialog::CreateLayout()//Создать диалог(определить расположение причиндалов диалога)
{
SetTitle("ALL_Menu");//Имя диалога
AddEditText(104, 0, 200, 0);//Окно для получения и введения текста, id=104, центр, ширина=200, высота в одну букву.
AddGroupBeginV(1001, BFH_SCALEFIT,1,"group",0);//Начало группы
AddButton (3000,BFH_CENTER,200,0,"Set");//Кнопка Set
AddSeparatorH(0);//Разделитель
AddButton(102, 0, 200, 0, "Get");//Кнопка Get
AddSeparatorH(0);//Разделитель
AddDlgGroup(DR_DLGGROUP_OK | DR_DLGGROUP_CANCEL);////Кнопки OK и Cancel
AddGroupEnd();//Конец группы
}
MyDialog::Command(id, msg)//Отслеживает нажатие кнопок и выдачу сообщений, срабатывает каждый раз, как нажимается любая кнопка
{
switch(id)//Взять id нажатия
{
case 102: // Если это (id=102)=Get, то...
{
text = GetString(104);//Получить текст из id=104 (текстовое окошко)
println("Get = ",text);//Напечатать в консоли, то, что получено
var message = stradd("There are ",tostring(text)," items.");//Перевести текст в стринг
TextDialog(message,DLG_OK);//Напечатать в отдельном окошке, то, что получено
return TRUE;//Успешно
break;//Прервать
}
case 3000: //Если это (id=3000)=Set, то...
{
text = "sin(1)=Good Luck!";//Вставляемый текст
SetString(104, text);//Вставить текст в id=104 (текстовое окошко)
println("Set = ",text);//Напечатать в консоли, то, что вставлено
var message = stradd("There are ",tostring(text)," items.");//Перевести текст в стринг
TextDialog(message,DLG_OK);//Напечатать в отдельном окошке, то, что вставлено
return TRUE;
break;//Прервать
}
case 1: //Если это (id=1)=OK, то...
{
println("OK!");//Напечатать в консоли
TextDialog("OK!",DLG_OK);//Напечатать в отдельном окошке
return TRUE;
break;//Прервать
}
case 2: //Если это (id=2)=Cancel, то...
{
println("CANCEL");//Напечатать в консоли
TextDialog("CANCEL",DLG_OK);//Напечатать в отдельном окошке
return FALSE;
break;//Прервать
}
}
}
main(doc, op)//Главная функция, с которой начинается работа
{
var d = new(MyDialog);//Запуск функции модального диалога GeModalDialog
d->Open(1650, 700);//После того, как все кнопки определены, запустить диолог в позиции 1650 на 700
var result = d->GetResult(); // GetResult показывает, что нажато OK или Cancel, (OK-TRUE, CANCEL-FALSE)
if(result==FALSE) return; //Выйти, если нажата CANCEL
TextDialog("END",DLG_OK); //Продолжить, если нажата OK
}
//****************************************
Комментариев нет:
Отправить комментарий