Add ListBox1ItemsAdd("Roman") Примердля ListBox'а. Для вставки строки в определенное место служит метод Insert
Скачать 0.59 Mb.
|
Дуга. Сектор.Метод Arc рисует дугу – часть эллипса (окружности). Инструкция вызова метода в общем виде выглядит так: Canvas › Arc(xl,yl,х2,у 2,х3,у3, х4,у4) Параметры x1, y1, х2, у2 определяют эллипс (окружность), частью которого является дуга. Параметры х3 и у3 задают начальную, а х4 и у4 – конечную точку дуги. Начальная (конечная) точка дуги – это точка пересечения границы эллипса и прямой, проведенной из центра эллипса в точку с координатами х3 и у3(х4, у4). Метод Arc вычерчивает дугу против часовой стрелки от начальной точки к конечной (рис. 3.4). Цвет, толщина и стиль линии, которой вычерчивается дуга, определяются значениями свойства Реn поверхности (canvas), на которую выполняется вывод. Рис. 3.4. Значения параметров метода Arc определяют дугу как часть эллипса (окружности) СекторМетод pie вычерчивает сектор эллипса или круга. Инструкция вызова метода в общем виде выглядит следующим образом: Canvas › Pie(x1,y1,х2,у2,х3,у3,х4,у4) Параметры x1, y1, x2, y2 определяют эллипс (круг), частью которого является сектор; х3, у3, х4 и у4 – прямые – границы сектора. Начальная точка границ совпадает с центром эллипса. Сектор вырезается против часовой стрелки от прямой, заданной точкой с координатами (х3, у3), к прямой, заданной точкой с координатами (х4, у4) (рис. 3.5). Рис. 3.5. Значения параметров метода Pie определяют сектор как часть эллипса (окружности) ТекстВывод текста (строк типа Ansistring) на поверхность графического объекта обеспечивает метод TextOutA. Инструкция вызова метода TextoutA в общем виде выглядит следующим образом: Canvas › TextOutA(x,y,Teкст) Параметр текст задает выводимый текст. Параметры х и у определяют координаты точки графической поверхности, от которой выполняется вывод текста (рис. 3.6). Рис. 3.6. Координаты области вывода текста Шрифт, который используется для вывода текста, определяется значением свойства Font соответствующего объекта canvas. Свойство Font представляет собой объект типа TFont. В табл. 3.4 перечислены свойства объекта TFont, определяющие характеристики шрифта, используемого методом TextoutA для вывода текста. Таблица 3.4. Свойства объекта TFont.
При выводе текста весьма полезны методы Textwidth и TextHeight, значениями которых являются соответственно ширина и высота области вывода текста, которые, очевидно, зависят от характеристик используемого шрифта. Обоим этим методам в качестве параметра передается строка, которую предполагается вывести на поверхность методом TextoutA. ТекстСледующий фрагмент кода демонстрирует использование методов, обеспечивающих вывод текста на поверхность формы. Приведенная функция обработки события OnPaint закрашивает верхнюю половину окна белым, нижнюю – голубым цветом, затем в центре окна, по границе закрашенных областей, выводит текст (рис. 3.7). void _fastcall TForml::FormPaint(TObject *Sender) { AnsiString ms = "Borland C++Builder"; TRect aRect; int x,y; // точка, от которой будет выведен текст // верхнюю половину окна красим белым aRect = Rect(0.0,ClientWidth,ClientHeight/2); Canvas › Brush › Color = clWhite; Canvas › FillRect(aRect); // нижнюю половину окна красим голубым aRect = Rect(0,ClientHeight/2,ClientWidth,ClientHeight); Canvas › Brush › Color = clSkyBlue; Canvas › FillRect(aRect); Canvas › Font › Name = "Times New Roman"; Canvas › Font › Size = 24; // Canvas › Font › Style = TFontStyles ()" fsBold " fsItalic; // текст разместим в центре окна х = (ClientWidth – Canvas-XTextWidth(ms)) /2; у = ClientHeight/2 – Canvas-XTextHeight(ms) /2; Canvas › Brush › Style = bsClear; // область вывода текста // не закрашивать Canvas › Font › Color = clBlack; Canvas › TextOutA(x,y,ms); // вывести текст } Рис. 3.7. Вывод текста Иногда требуется вывести какой-либо текст после сообщения, длина которого во время разработки программы неизвестна. В этом случае необходимо знать координаты правой границы области выведенного текста. Координаты правой границы текста, выведенного методом TextOutA, можно получить, обратившись к свойству penPos. Следующий фрагмент кода демонстрирует возможность вывода строки текста при помощи двух инструкций TextOutA: Canvas › TextOutA(10.10,"Borland "); Canvas › TextOutA( Canvas › PenPos.x, Canvas › PenPos.y, "C++Builder"); |