Создание нового приложения




Для создания новвого приложения выбираем File > New > bada C++/Flash Application Project

Напишите имя вашего проекта, выберите тип проекта (bada form Based Application) нажмите Next или Finish.

Мы получили проект приложения Hello bada с одной формой.

Добавим на форму из панели инструментов элемент TextBox, два элемента EditField и один Button простым перетаскиванием указанных элементов, как показано ниже.

 

В окне свойств

 

изменим имена полей и кнопки на следующие:

IDC_TEXTBOX_REZ,

IDC_EDITFIELD_A,

IDC_EDITFIELD_B,

IDC_BUTTON_CLEAR.

Также установим свойство Text для кнопки установим “Clear”.

 

Далее добавим обработчик события для кнопки IDC_BUTTON_CLEAR. Для этого необходимо в дизайнере правой кнопкой мыши вызвать контекстное меню и выбрать Add event handler.

 

В появившемся окне выбираем IActionEventListener и указываем в поле Action ID идентификатор.

 

 

После этого мы переходим к обработчику OnActionPerformed

Void

Form1::OnActionPerformed (const Osp::Ui::Control& source, int actionId)

{

switch (actionId)

{

case ID_BUTTON_OK:

{

AppLog("OK Button is clicked! \n");

}

break;

default:

break;

}

}

Как мы видим, здесь уже присутствует код для кнопки, которая была добавлена в приложение по умолчанию. Сюда же нам необходимо добавить код который будет выполняться при нажатии на кнопку которую мы добавили.

 

Добавим в заголовочный файл формы переменные для добавленных элементов, а также идентификатора действия для кнопки IDC_BUTTON_CLEAR:

 

static const int ID_BUTTON_CLEAR = 200;

Osp::Ui::Controls::Button *__pButtonOk;

Osp::Ui::Controls::Button *__pButtonClear;

Osp::Ui::Controls::EditField *__pEditBoxA;

Osp::Ui::Controls::EditField *__pEditBoxB;

Osp::Ui::Controls::TextBox *__pTextBoxRez;

 

Также изменим метод инициализации формы и обработчик события следующим образом:

 

Form1::OnInitializing (void)

{

result r = E_SUCCESS;

 

// TODO: Add your initialization code here

 

// Get a button via resource ID

__pButtonOk = static_cast <Button *>(GetControl (L"IDC_BUTTON_OK"));

if (__pButtonOk!= null)

{

__pButtonOk-> SetActionId (ID_BUTTON_OK);

__pButtonOk-> AddActionEventListener (* this);

}

 

__pButtonClear = static_cast <Button *>(GetControl ("IDC_BUTTON_CLEAR"));

if (__pButtonClear!= null)

{

__pButtonClear-> SetActionId (ID_BUTTON_CLEAR);

__pButtonClear-> AddActionEventListener (* this);

}

 

__pEditBoxA = static_cast <EditField *>(GetControl ("IDC_EDITFIELD_A"));

__pEditBoxB = static_cast <EditField *>(GetControl ("IDC_EDITFIELD_B"));

__pTextBoxRez = static_cast <TextBox *>(GetControl ("IDC_TEXTBOX_REZ"));

__pEditBoxA-> AddTextEventListener (* this);

 

return r;

}

 

Void

Form1::OnActionPerformed (const Osp::Ui::Control& source, int actionId)

{

const int MAX_BUFF_SIZE = 512;

switch (actionId)

{

case ID_BUTTON_OK:

{

AppLog("OK Button is clicked! \n");

// получаемстроковоепредставление

String a_str(__pEditBoxA-> GetText ());

String b_str(__pEditBoxB-> GetText ());

double a,b;

// преобразованиестроковыхпредставленийчисел в вещественнуюформудлявычислений

Double:: Parse (a_str,a);

Double:: Parse (b_str,b);

double rez=a+b;

String strRez;

// преобразованиечисловыхзначений в строковоепредставление

strRez. Format (MAX_BUFF_SIZE,L"%f",rez);

// выводполученногочисела в TextBox

__pTextBoxRez-> SetText (L"X="+strRez);

__pTextBoxRez-> Draw ();

__pTextBoxRez-> Show ();

}

break;

case ID_BUTTON_CLEAR:

{

AppLog("OK Button is clicked! \n");

__pTextBoxRez-> Clear ();

__pTextBoxRez-> Draw ();

__pTextBoxRez-> Show ();

}

break;

default:

break;

}

}

 

В результате мы получим приложение выполняющее суммирование двух чисел введенных в поля EditField и вывод в TextBox по нажатию на кнопку Ok. По нажатию Clear осуществляется очистка TextBox с результатом.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-03-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: