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




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


ScrollTo (Delta.X, Location) 

else

Draw 

end; {SearchItem}

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

var

R: TPoint; 

label Cls; 

begin

TScroller. HandleEvent (Event) ; 

case Event. What of 

evCommand :

case Event.Command of

cmClose:

begin

Cls:

case Control of {Получить команду из основного диалогового окна}

cmCan,

cmCancel: EndModal (cmCancel) ;

cmEdit : AddItem(True) ;

cmDelete: DeleteItem; 

cmSearch: SearchItem; 

cmAdd : AddItem(False); 

end 

end;

cmZoom: exit; 

end;

evMouseDown: {Реакция на щелчок мышью} 

begin

MakeLocal(MouseWhere, R);{Получаем в R локальные координаты указателя мыши}

Location := Delta.Y+R.Y; 

Draw 

end;

evKeyDown: {Реакция на клавиши + -} 

case Event.KeyCode of 

kbEsc: goto Cls;

kbGrayMinus: if Location > Delta.Y then 

begin

dec(Location); Draw 

end;

kbGrayPlus: if Location < Delta.Y+pred(Size.Y)then

begin

inc(Location); 

Draw 

end; 

end 

end 

end; {Tlnterior.HandleEvent}

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

Procedure TNotebook.Work;

{Работа с данными}

var

R : TRect ;

PW : PWorkWin ;

Control: Word; 

begin

R.Assign(0,0,80,23) ;

PW := New (PWorkWin, Init (R) ) ;

Control := DeskTop.ExecView(PW) ;

Dispose (PW, Done) 

end; 

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

Procedure TNOtebook.HandleEvent (var Event: TEvent) ; 

{Обработчик событий программы} 

begin {TNOtebook.HandleEvent}

TApplication.HandleEvent (Event) ;{Обработка стандартных команд cmQuit и cmMenu}

if Event.What = evCommand then 

case Event.Command of

{Обработка новых команд:}

cmOpen: FileOpen; {Открыть файл}

cmSave: FileSave; {Закрыть файл}

cmChangeDir : ChangeDir; {Сменить диск}

cmDOSShell : DOSCall; {Временный выход в ДОС}

cmWork : Work; {Обработать данные} 

else

exit {Не обрабатывать другие команды} 

end;

ClearEvent(Event) {Очистить событие после обработки} 

end; {TNOtebook.HandleEvent}

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




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