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

Контекстная помощь

begin
TApplication.HandleEvent (Event);
case Event. Command of
cmHelp: if not HelpOpen then
DoHelp; {Выдаем справку}
cmChangeCtx: {Изменяем контекст по клавише F2}
begin
if HelpCtx = 3 then
HelpCtx: = 0
else
inc (HelpCtx);
Ctx^.Draw;
ClearEvent (Event)
end
end
end;
Function MyHelpWindow.GetPalette;
const
P = #16#17#18#19#20#47#21#13;
C: String [8] = P;
begin
GetPalette: = @C
end;
Constructor TCtxView. Init;
var
R: TRect;
begin
R. Assign (67, 0, 80, 1);
TView.Init(R);
end;
Procedure TCtxView. Draw;
var
S: String;
B: TDrawBuffer;
C: Byte;
begin
Str (Application^. HelpCtx, S);
S: = 'Контекст = '+S;
С: = GetColor(2);
MoveChar(B, ' ', C, Size.X);
MoveStr(B, S, C);
WriteLine(0, 0,Size.X,1,B)
end;
var
Р: МуАрр;
begin
P.Init;
P.Run;
P.Done
end.

В программе предусмотрена смена текущего контекста с помощью клавиши F2. Разумеется, в реальной программе смена контекста будет, судя по всему, происходить иначе: обычно в текст конструктора Init видимого элемента вставляется оператор:

HelpCtx: = NNN;

Где NNN – нужный контекст.

Для визуализации текущего контекста в программе используется простой объект TCtxView, с помощью которого в верхнем правом углу экрана выводится строка:

Контекст = N

Здесь N – текущий контекст.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.