пятница, 15 июля 2011 г.

Вставить и получить стринг-значение в диалоговом текстовом окошке.

Этот код вставит и получит стринг-значение в диалоговое текстовое окошко:


//*************************************************************
//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
 }
//****************************************

Комментариев нет:

Отправить комментарий