Формирование меню и строки статуса

Формирование меню и строки статуса. Теперь нужно создать основные элементы программы - строку меню и строку состояния. Для этого я модифицировал стандартное поведение объекта SKLVKS. Я перекрыл переопределил унаследованные от TApplication методы InitStatusLine и InitMenuBar. Метод InitStatusLine я перекрыл так, чтобы программа в строке состояния вывела подсказки выхода из программы, справка и меню. При нажатии мышкой или при нажатии горячей клавишу на соответствующую надпись ваполнится связанная с ней процедура.

Например при нажатии на F1 на экране появится сообщение о создании СУРКК или при нажатии на F10 активизируется строка меню. Метод InitMenuBar перекрал так, чтобы организовать меню для работы с данными. см. рис 2 USES APP,OBJECTS,MENUS,DRIVERS,VIEWS Const cmPrnSklad 200 cmSklad 201 cmZak 203 cmPriceLst 204 cmHelp About 205 cmPrint 206 cmPrihod 207 cmSbros 208 cmNext 209 cmMore 213 cmSKL 214 cmDostup 215 cmDobavka 216 cmRekviz 217 cmKurs 218 cmTemp 219 cmPriceList 220 cmSdelka 221 cmPrih 222 cmVozvrat 223 cmKorPrihod 224 cmDolgi 225 cmUdal 226 cmMoney 227 cmArchive 228 Type TSklVks object TApplication Procedure InitStatusLine Virtual Procedure InitMenuBar Virtual End Procedure TSklVks. InitStatusLine создает строку статуса var R Trect Begin GetExtent R R.A.Y pred R.B.Y координаты строки статуса StatusLine New PStatusLine,Init R,NewStatusDef 0, ffff, NewStatusKey ALT-X -Конец работы, kbAltX,cmQuit, NewStatusKey F1 -Справка, kbf1,cmHelp About, NewStatusKey F10 -Меню, kbf10,cmMenu, nil, nil END Procedure TSklVks. InitMenuBar Создает строку меню var R Trect Begin GetExtent R R.B.Y succ R.A.Y координаты строки меню MenuBar New PMenuBar,Init R,NewMenu NewSubMenu Д анные, hcNoContext, NewMenu NewItem С клад , ,kbNokey, cmSklad, hcNoContext, NewItem С д елки , ,kbNoKey, cmSdelka, hcNoContext, NewItem П риходы , ,kbNoKey, cmPrih, hcNoContext, NewItem Дол г и , ,kbNoKey, cmDolgi, hcNoContext, NewItem Выруч к а , ,kbNoKey, cmMoney, hcNoContext, NewLine NewItem В ыход , ALT-X ,kbAltX,cmQuit, hcNoContext, nil , NewSubMenu К лиент, hcNoContext, NewMenu NewItem П родажа , ,kbNoKey, cmZak, hcNoConText, NewItem В озврат , ,kbNoKey, cmVozvrat, hcNoConText, nil , NewSubMenu П оставщик, hcNoContext,NewMenu NewItem Новый при х од , ,kbNoKey, cmPrihod, hcNoContext, NewItem К орректировка прихода , ,KbNoKey, cmKorPrihod, hcNoContext, nil , NewSubMenu Пе ч ать, hcNoContext,NewMenu NewItem О тчет о наличии товара , ,kbNoKey, cmPrnSklad, hcNoContext, NewItem Прайс л ист , ,KbNoKey, cmPriceList, hcNoContext, nil , NewSubMenu А рхив, hcNoContext,NewMenu NewItem Р абота с архивом , ,kbNokey, cmArchive, hcNoContext, nil , NewSubMenu У становки, hcNoContext,NewMenu NewItem П ароль , ,kbNoKey, cmDostup, hcNoContext, NewItem Рекви з иты , ,kbNoKey, cmRekviz, hcNoContext, NewItem Кур с доллара , ,kbNoKey, cmKurs, hcNocontext, nil , NewSubMenu И нформация, hcNoContext,NewMenu NewItem О Скла д е , ,kbNokey, cmHelp About, hcNoContext, nil, nil end Var SKLVKS TSKLVKS BEGIN Основная программа SklVks. Init SklVks. Run SklVks. Done END. Конец основной программы рис 2 2.6.4.3