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

Программа Notebook

{-----------------}
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}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.