- Машинная графика
- Рисуем? Где? Чем?
- Что позволяет рисовать система VB?
- Работа с отдельными точками
- Отрезки прямых и прямоугольники
- Окружности, эллипсы, дуги и сектора
- Очистка канвы графического объекта
- Что позволяют рисовать системы BCB и Delphi?
- Отрезки прямых и ломаные
- Стандартные прямоугольники
- Нестандартные многоугольники
- Кривые второго порядка
- Обмен с графическими файлами
- Вывод символьных и числовых данных на канве
- Отображение текстовой и числовой информации в VB
- Работа с текстами в BCB и Delphi
- Графические объекты в системе VB
- Графические объекты в системах BCB и Delphi
- Копирование растровых изображений
- Создание монотонно изменяющегося фона
- Формирование регулярных заливок замкнутых областей в BCB
- Формирование регулярных заливок замкнутых областей в Delphi
Работа с текстами в BCB и Delphi
Опубликовано admin в Сб, 05/08/2010 - 21:02
Для вывода текста на поверхности канвы используется один из методов 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);
