АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Win_spisok_Create(_Win),

!.

%END Task Window, id_spisok

7. Запрограммируйте нажатие кнопки ADD в окне Spisok для добавления нового элемента в список. Для этого вызовите окно Dialog and Window Expert (кнопка Code Expert) и в списке окон выберите Spisok. Выберите пункт Control в списке Event Type и выделите строку pb: idc_add (имя кнопки ADD). Нажмите кнопку Add Clause, а затем Edit Clause (рис.26).

рис.26. Созданное окно Spisok


Откроется окно редактора для файла Spisok.pro, в который добавлено предложение:

%BEGIN spisok, idc_add _CtlInfo

win_spisok_eh(_Win,e_Control(idc_add,_CtrlType,_CtrlWin,

_CtlInfo),0):-!,

!.

%END spisok, idc_add _CtlInfo

Допишите необходимые команды. В результате должно получиться:

%BEGIN spisok, idc_add _CtlInfo

win_spisok_eh(_Win,e_Control(idc_add,_CtrlType,_CtrlWin,

_CtlInfo),0):-!,

LBOXWIN = win_GetCtlHandle(_Win,id_list_box),

E_WINDOW = win_GetCtlHandle(_Win,idc_edit),

EDIT_STRING= win_GetText(E_WINDOW),

EDIT_STRING<>"",

Lbox_Add(LBOXWIN,-1,EDIT_STRING),

!.

%END spisok, idc_add _CtlInfo

 

8. Аналогично запрограммируйте нажатие кнопки DELETE в окне Spisok для удаления выделенного элемента списка.

%BEGIN spisok, idc_delete _CtlInfo

win_spisok_eh(_Win,e_Control(idc_delete,_CtrlType,_

CtrlWin, _CtlInfo),0):-!,

LBOXWIN = win_GetCtlHandle(_Win,id_list_box),

Index = lbox_GetSelIndex(LBOXWIN),

Lbox_Delete(LBOXWIN,Index),

!.

%END spisok, idc_delete _CtlInfo

 

9. Запустите проект на исполнение и протестируйте его.

ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

Доработайте проект проект следующим образом:

1) добавьте кнопку CLEAR, при нажатии на которую удаляется все содержимое списка (используйте предикат lbox_Clear);

2) добавьте компонент Static Text, который должен отображать выделенный элемент списка.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)