OutText (процедура) (модуль Graph)

Язык:
Русский
English

 OutText (процедура)  (модуль Graph)


Посылает строку на устройство вывода в позиции текущего указателя.

Объявление

 Procedure OutText(TextString : String);

Режим

Real, Protected

Замечания

Отображает TextString в позиции текущего указателя (CP), используя текущие установки выравнивания.

Строка TextString усекается на границе области просмотра, если она слишком длинная. Если активен один из штриховых шрифтов, то строка TextString усекается на границе экрана, если она слишком длинная.

Если заданный по умолчанию (растровый) шрифт активен, и строка слишком длинная, чтобы уместиться на экране, то текст не отображается вообще.

Процедура OutText использует шрифт, установленный SetTextStyle. Чтобы поддерживать совместимость кода при использовании нескольких шрифтов, используйте процедуры TextWidth и TextHeight для определения размера строки.

Процедура OutText использует опции вывода, установленные с помощью процедуры SetTextJustify.

CP модифицируется процедурой OutText только в том случае, если текст выводится горизонтально с левым выравниванием. Направление вывода устанавливается с помощью SetTextStyle, а выравнивание текста устанавливается с помощью SetTextJustify.

Пример установок SetTextStyle и SetTextJustify:

 Program CPupdate;
 Uses Graph;
 Var Driver, Mode : Integer;
 Begin
  Driver:=Detect;
  InitGraph(Driver, Mode, '');
  If GraphResult < 0 Then Halt(1);
  { #1 }
  MoveTo(0, 0);
  SetTextStyle(DefaultFont, HorizDir, 1); { Размер символов = 1 }
  SetTextJustify(LeftText, TopText);
  OutText('ABC');                         { CP обновляется }
  OutText('DEF');                         { CP обновляется }
  { #2 }
  MoveTo(100, 50);
  SetTextStyle(DefaultFont, HorizDir, 1); { Размер символов = 1 }
  SetTextJustify(RightText, TopText);
  OutText('ABC');                         { CP обновляется }
  OutText('DEF');                         { CP обновляется }
  { #3 }
  MoveTo(100, 100);
  SetTextStyle(DefaultFont, VertDir, 1);  { Размер символов = 1 }
  SetTextJustify(LeftText, TopText);
  OutText('ABC');                         { CP НЕ обновляется }
  OutText('DEF');                         { CP НЕ обновляется }
  ReadLn;
  CloseGraph;
 End.

Учтите, что процедура OutTextXY НЕ обновляет CP.

Заданный по умолчанию шрифт (8x8) не отсекается на краю экрана. Вместо этого, если любая часть строки выходит за пределы экрана, текст не выводится вообще. Например, следующие операторы не дают никакого эффекта:

 SetViewPort(0, 0, GetMaxX, GetMaxY, ClipOn);
 SetTextJustify(LeftText, TopText);
 OutTextXY(-5, 0, 'Test');          { -5,0 за пределами экрана      }
 OutTextXY(GetMaxX - 1, 0, 'ABC');  { Часть 'A' и вся строка 'BC'   }
                                    { находится за пределами экрана }

Тем не менее, векторные шрифты отсекаются на краю экрана.

Ограничения

Нужно быть в графическом режиме.

Смотри также

Пример

Язык:
Русский
English


 { Пример программы для процедуры OutText }

uses Graph;

var
  Gd, Gm : Integer;

begin
  Gd := Detect;
  InitGraph(Gd, Gm, 'X:\BP');
 if GraphResult <> grOk then
   Halt(1);
  OutText('Easy to use');
 ReadLn;
  CloseGraph;
end.
Тэги: OutText
| G+
Код для вставки: :: :: :: ::
Поделиться: // //