Иллюстрированный самоучитель по Tirbo Pascal




Программа Notebook - часть 9


Procedure TNotebook. InitMenuBar;

{Создание верхнего меню}

var

R: TRect; 

begin

GetExtent(R) ;

R.B.Y := succ (R.A.Y) ; {R - координаты строки меню}

MenuBar := New(PMenuBar, Init(R,

NewMenu ( {Создаем меню} 

{Первый элемент нового меню представляет собой подменю (меню второго уровня) . Создаем его} NewSubMenu ( '~F~/Файл' , hcNoContext, 

{Описываем элемент главного меню}

NewMenu ( {Создаем подменю} 

NewItem( {Первый элемент} 

'~1~/ Открыть', 'F3 ', kbF3,cmOpen, hcNoContext, 

NewItem( {Второй элемент} 

'~2~/ Закрыть', 'F2',kbF2,cmSave,hcNoContext, 

NewItem( {Третий элемент} 

'~3~/ Сменить диск1 , ' ' , 0, cmChangeDir, hcNoContext, 

NewLine( {Строка-разделитель} 

NewItem( '~4~/ Вызов ДОС' , ' ' , 0, cmDOSShell, hcNoContext, 

NewItem( '~5~/ Конец работы' , 'Alt-X' , kbAltX, cmQuit,hcNoContext,

NIL)))))) {Нет других элементов подменю} ),

{Создаем второй элемент главного меню} 

NewItem('~W~/ Работа', ' ', kbF4,cmWork, hcNoContext, 

NIL) {Нет других элементов главного меню} 

)))) 

end; {TNotebook. InitMenuBar}

{-----------------}

Procedure TNotebook. InitStatusLine; 

{Формирует строку статуса} 

var

R: TRect; {Границы строки статуса} 

begin

GetExtent (R) ; {Получаем в R координаты всего экрана} 

R.A.Y := pred(R.B.Y) ; 

StatusLine := New(PStatusLine,

Init(R, {Создаем строку статуса} 

NewStatusDef (0, $FFFF, {Устанавливаем максимальный диапазон контекстной справочной службы}

  NewStatusKey('~Alt-X~ Выход1, kbAltX, cmQuit, 

NewStatusKey(I~F2~ Закрыть', kbF2, cmSaveFile, 

NewStatusKey ( '~F3~ Открыть', kbF3, cmOpenFile, 

NewStatusKey ( '~F4~ Работа', kbF4, cmWork, 

NewStatusKey ( '~F10~ Меню1, kbF10, craMenu, 

NIL) ) ) ) ) , {Нет других клавиш} 

NIL) {Нет других определений} 

));

DisableCommands (WinCom1) {Запрещаем недоступные команды} 

end; {TNotebook . InitStatusLine}

{------------------}

var

Nbook: TNotebook; 

begin

Nbook. Init ;

Nbook. Run;

Nbook . Done

end.




Содержание  Назад