<<<Назад <<<

Активный текст - часть II.

Тема нашего сегодняшнего поста – обеспечить обратную связь с приложением.
Для этого добавим кнопку “BUTTON” и ссылку, т.е. текст, произведя щелчок по которому выполнится какое то действие.

// Определяем используемые шрифты
#define FontM "tahomaB36"
#define FontNOTES "AudreysHandI48"
#define FontHTML "CourierNewB64"

// Стиль вывода текста
#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2
#define ST_FRAME 64

// Используемые элементы. Статические типы
#define CT_STATIC 0 // Простой текст
#define CT_BUTTON 1 // Кнопка
#define CT_ACTIVETEXT 11 //Ссылка

// Определение класса текста
class RscText
{
  type = CT_STATIC;
  idc = -1;
  style = ST_LEFT;
  colorBackground[] = {0, 0, 0, 0};
  colorText[] = {1, 1, 1, 1};
  font = FontM;
  sizeEx = 0.04;
};

// Определяем класс ссылки
class RscActiveText
{
  type = CT_ACTIVETEXT;// Тип - активный текст
  idc = -1; // Поскольку это своего рода шаблон, то
  // идентификатор = -1.
  style = ST_LEFT; // Выравнивание по левому краю
  color[] = {1, 1, 1, 1}; // Цвет - белый.
  colorActive[] = {1, 0, 0, 1}; // Цвет при выделении - красный.
  font = FontM;
  sizeEx = 0.04;
  soundEnter[] = {"ui\ui_over", 0.2, 1}; // Это звук щелчка
  soundPush[] = {, 0.2, 1};
  soundClick[] = {"ui\ui_ok", 0.2, 1};
  soundEscape[] = {"ui\ui_cc", 0.2, 1};
  default = false; // Не выделяется по умолчанию (Всегда FALSE)
};

// Определение класса Кнопка
classRscButton
{
  type = CT_BUTTON;// Тип - кнопка стандартная.
  idc = -1; // Параметры теже.
  style = ST_CENTER;
  colorText[] = {0, 0, 0, 1};
  font = FontHTML;// Шрифт, которым будет отображена надпись
  sizeEx = 0.025;
  soundPush[] = {, 0.2, 1};
  soundClick[] = {"ui\ui_ok", 0.2, 1};
  soundEscape[] = {"ui\ui_cc", 0.2, 1};
  default = false;
};

// Пользовательский класс, здесь мы создаем СВОИ классы.
class DlgTutorial
{
  idd = -1;
  movingEnable = true; // Диалог можно перемещать.

  // Классы "фона"
  controlsBackground[] =
  {
    MY_BACKGROUND,
    MY_FRAME
  };

  // Строим прямоугольник в центре экрана
  class MY_BACKGROUND: RscText
  {
    colorBackground[] = {0.5, 0.5, 1, 1}; // Цвет - пурпурный !
    // можно и стандартный - серый 0.4, 0.4, 0.4, 0.75
    text = ; // Без надписи
    x = 0.2; // Смещение по горизонтали.
    y = 0.1; // Смещение по вертикали.
    w = 0.6; // Ширина.
    h = 0.7; //Высота.
  };

  // Этот класс выведет текст "Мой диалог" в рамке
  class MY_FRAME: RscText
  {
    idc = 103;
    style = ST_FRAME; // Стиль - текст в рамке
    colorText[] = {0, 0, 0, 1}; // Цвет - черный
    text = "Мой диалог"; // Надпись
    font = FontHTML; // Тип шрифта
    sizeEx = 0.025;
    x = 0.22;
    y = 0.12;
    w = 0.56;
    h = 0.66;
  };

  objects[] = { };

  // Описываем классы, отвечающие за создание ссылки и кнопки.
  controls[] =
  {
    HELLO_WORLD,
    CLICK_ME,
    EXIT_BUTTON
  };

  // Просто текст в центре рамки - Hello Word
  class HELLO_WORLD : RscText
  {
    idc = 100; // Присваиваем идентификатор - 100
    style = ST_CENTER; // Центрируем текст
    x = 0.4;
    y = 0.45;
    w = 0.2;
    h = 0.1;
    text = "Hello World!";
    font = FontNOTES;
    size = 1;
  };

  // А вот и наша ссылка с надписью "Кликни по мне !"
  class CLICK_ME : RscActiveText
  {
    idc = 101; // Поскольку ей присвоено действие, то задаем идентификатор
    style = ST_CENTER;
    x = 0.35;
    y = 0.65;
    w = 0.3;
    h = 0.05;
    text = "Кликни по мне !";
    // Меняем текст, для этого элементу управления с идентификатором 100, присваиваем текст
    // Привет!
    action = "ctrlSetText [100, ""Привет!""]";
    default = true; // ссылка выделена по умолчанию
  };

  // Это кнопка.
  class EXIT_BUTTON : RscButton
  {
    idc = 102;
    x = 0.35;
    y = 0.25;
    w = 0.3; // Длина кнопки
    h = 0.04; // высота кнопки
    text = "Закрыть диалоговое окно";
    action = "closeDialog 0"; // Закрываем окно.
  };
};


Что бы вызвать окно диалога пропишите следующую команду в скрипте.
ok = createDialog "DlgTutorial"
<<<Назад <<<