TextWidth: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
(Created page with "Vrací šířku řetězce v pixelech. ;Deklarace function TextWidth(TextString: string): Word; ;Režim :Reálný, Chráněný ;Poznámky :Zjišťuje šířku [[TextString]...")
(Žádný rozdíl)

Verze z 4. 10. 2012, 16:40

Vrací šířku řetězce v pixelech.

Deklarace
function TextWidth(TextString: string): Word;
Režim
Reálný, Chráněný
Poznámky
Zjišťuje šířku TextString na základě délky řetězce, velikosti aktuálního fontu a případného násobícího činitele zvětšení. Výsledek můžete použít pro určení velikosti výřezu a pro jakékoli vkládání textu do plochy s omezením vodorovného rozměru.
Například s bitmapovým fontem 8x8 a s násobícím činitelem 1 (nastaveným pomocí SetTextStyle) bude řetězec Turbo 40 pixelů široký.
Používejte tuto funkci místo manuálních propočtů i v takovýchto jednoduchých případech, ušetříte si práci při případné změně fontu (nebude nutné upravovat zdrojový text).
Omezení
Je nutno být v grafickém režimu.
Viz také
OutText
OutTextXY
SetTextStyle
TextHeight


Vzorový příklad

{Txtwidth.PAS}
{Vzorový příklad pro funkci TextWidth.}
uses Graph;
var
  Gd, Gm: Integer;
  Row: Integer;
  Title: String;
  Size: Integer;
begin
  Gd := Detect;
  InitGraph(Gd, Gm, ' ');
  if GraphResult <> grOk then
    Halt(1);
  Row := 0;
  Title := 'Turbo Graphics';
  Size := 1;
  while TextWidth(Title) < GetMaxX do
  begin
    OutTextXY(0, Row, Title);
    Inc(Row, TextHeight('M'));
    Inc(Size);
    SetTextStyle(DefaultFont, HorizDir, Size);
  end;
  Readln;
  CloseGraph;
end.