
- •Visual Basic .Net
- •Visual Basic .Net
- •Visual c#
- •314 Создание элементов управления с помощью .Net Framework Глава 7
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •2. В окне New Project выберите шаблон Windows Application, назовите новый про-
- •3. В меню Project выберите команду Add New Item — откроется одноименное диа-
- •4. В диалоговом окне Add New Item выберите Custom Control, назовите новый эле-
- •5. В окне Solution Explorer щелкните правой кнопкой элемент управления Pretty-
- •1. В окне редактора кода поместите в начало кода следующие операторы, импор-
- •Visual c#
- •Visual Basic .Net
Visual Basic .Net
В э^ом примере используется одна из
системных кистей класса SysternBrush.
Dim g As Graphics - me.CreateGraphics()
Dim inyString As String = "Hello World"
Dim myFont As New Font("Times New Roman", 36, FontStyle.Regular)
Последние два параметра представляют координаты строки,
g.DrawStrirg(myString, myFont, SystemBrushes.Highlight, 0, 0)
He забудьте освободить объект Graphics!
g.Dispose()
Visual c#
// В этом примере используется одна из
// системных кистей класса SysternBrush.
Graphics g - this.CreateGraphicsO:
String uiyString = "Helio World";
Font myFont = new Font("Times New Roman", 36, FontStyle,Regular);
Последние два параметра представляют координаты строки.
o.DrawString(myStr;ing, myFont, SystemBrushes.Highlight, 0. 0);
Занятие 1 Приме,
// Не забудьте освободить объект Graphics!
g.Disposef);
>• Отображение текста как графического элемента
1. При необходимости создайте объекты Font и Brush, определяющие вид объекта
String.
2. Получите ссылку на объект Graphics, связанный с областью, в которой должен
быть отображен текст.
3. Вызовите метод Graphics.DrawString, передав объекты String, Font, Brush и коор-
динаты верхнего левого угла области, в которой будет отображен текст.
4. Освободите объект Graphics, вызвав метод Graphics.Dispose.__
Рисование сложных фигур
Время от времени приходится рисовать фигуры более сложные, чем прямоугольни-
ки, эллипсы и многоугольники. У объектов простых фигур есть встроенные мето-
ды, облегчающие их рисование, тогда как рисование сложных фигур требует допол-
нительной подготовки. Ключевым для визуализации сложных фигур является объ-
ект Graphics Path из пространства имен System.Drawing. Drawing2D. Он описывает про-
извольный замкнутый контур или набор фигур. Так, можно создать объект Graphics-
Path, образованный эллипсами, прямоугольниками и другими простыми объекта-
ми, представляющий фигуру неправильной формы.
Создание объекта GraphicsPath
Объект GraphicsPath создают вызовом одной из версий его конструктора, Простей-
шая версия конструктора объекта GraphicsPath не принимает параметров:
Visual Basic .Net
Dim rnyPath As New Drawing2D.GraphicsPath()
Visual c#
GraphicsPath myPath = new Drawing2D.GraphicsPath();
Кроме того, объект GraphicsPath допустимо задавать в виде массива точек и зна-
чений типа Byte. Точки определяют координаты контура, а значения Byte — тип
линий, которыми эти точки соединяются. Преобразовав подобный массив из пере-
числимого типа System.Drawing.Drawing2D.PathPointType, вы сможете написать бо-
лее понятный и удобный в сопровождении код. Вот пример кода, создающего очень
простой объект GraphicsPath:
Visual Basic .Net
1 Этот пример предполагает наличие оператора Imports System.Drawing.Drawing2D
Dim friyPatn As New GraphicsPath{New Pointf) {New Point(1, 1),
New Point(32, 54), New Point(33, 5)}, New Byte() _
{CType(PathPointType.Start, Byte), CType(PathPointType.Line, _
Byte), CType(PathPointType.8ezier. Byte)})
Создание элементов управления с помощью .NET Framework Глава 7
Visual c#
// Этот пример предполагает наличие оператора using System. Drawing. Drawing2D
GraphicsPath myPath = new GraphicsPath(new Point[] {new Point(1, 1),
new Point(32, 54), new Point(33, 5)}, new byte[] {
(byte)PathPointType. Start, ( byte) Pat hPointType. Line,
(byte)PathPointType.Bezier});
К созданному объекту GraphicsPath можно добавлять фигуры. Фигура — это зам-
кнутый контур, он может быть простым (как эллипс или прямоугольник) или слож-
ным (как произвольные кривые и контуры символов).
Методы класса GraphicsPath позволяют добавлять к контуру новые фигуры (таб-
лица 7-6).
Таблица 7-6. Методы ,для добавления фигур к объекту GraphicsPath
Имя Что добавляет
AddClosedCurve Замкнутую кривую, заданную массивом точек
AddElUpse Эллипс
AddPath Заданный экземпляр объекта GraphicsPath
AddPie Окружность
AddPolygon Многоугольник, заданный массивом точек
AddRedangle Прямоугольник
AddRecmngles Массив прямоугольников
AddString Графическое представление строки символов с заданным
начертанием
Разрешается не только напрямую добавлять фигуры к объекту GraphicsPath, но и
составлять контуры, добавляя прямые, кривые и дуги. Чтобы начать новый контур,
вызовите метод GraphicsPath. StartFigure. Далее, используя методы класса Graphics-
Path, можно добавлять к контуру новые фигуры. Закончив конструирование фигу-
ры, вызовите метод GraphicsPath. CIoseFigure, чтобы замкнуть ее контур — последняя
точка фигуры автоматически соединяется с первой. Вот пример: