Пропустить навигацию.
Главная

Работа с текстами в BCB и Delphi

Для вывода текста на поверхности канвы используется один из методов TextOut или TextRect. Их общими аргументами являются координаты (x,y) точки привязки (левый верхний угол текста) и сам текст — объект text типа String в Delphi и AnsiString в BCB:

TRect R=Rect(10,10,100,100); //BCB

имя_объекта->Canvas->TextOut(x,y,text);

имя_объекта->Canvas->TextRect(R,x,y,text);

имя_объекта.Canvas,TextOut(x,y,text); {Delphi}

имя_объекта.Canvas.TextRect(R,x,y,text); {Delphi}

Аргумент R объект типа TRect, — определяет прямоугольник, внутри которого должна находиться воспроизводимая надпись. Части надписи, выходящие за границы этого прямоугольника, отсекаются.

Если наряду с текстовой информацией на канве нужно разместить и числовые данные, то их можно предварительно преобразовать из числового формата , использовав одну из функций типа sprintf, itoa, ltoa, ftoa, IntToStr, FloatToStr и др. Данные, преобразованные в строку типа char, следует конвертировать в формат AnsiString. Например:

char msg[80];

sprintf(msg,"x=%d y=%d",x,y);

Canvas->TextOut(10,10,AnsiString(msg));

var s:string;

s:='x='+IntToStr(x)+' y='+IntToStr(y);

Canvas.TextOut(10,10,s);

Вспомогательные методы TextWidth и TextHeight могут быть использованы для определения ширины и высоты еще не выведенной надписи в пикселах:

w = имя_объекта->Canvas->TextWidth(text);

h = имя_объекта->Canvas->TextHeight(text);