Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Аналогично можно продолжить разработку главного меню приложения.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Создание контекстного меню Для создания контекстного меню приложения поместите на форму элемент управления contextMenuStrip. В результате появится конструктор для создания контекстного меню.
Рисунок 3.44- Форма с элементом contextMenuStrip Создадим первый пункт меню. Для этого в первое пустое поле, где в данный момент содержится надпись «Вводить здесь», вводим имя нового пункта, например «Копировать». Затем добавим пункт меню «Вставить» и пункт «Выход».
Рисунок 3.45- Форма с элементом contextMenuStrip
Двойным щелчком мыши по пункту меню создадим обработчики событий выбора каждого пункта меню. На этом будем считать, что наше первое контекстное меню создано и теперь давайте проверим, как оно работает. Запускаем приложение и нажимаем правую кнопку мыши. Но сколько бы вы сейчас не нажали правую кнопку мыши, в результате ничего не произойдёт, так как в данный момент мы не выполнили ещё одно важное действие. Необходимо открыть окно свойств для формы и выбрать свойство contextMenuStrip (в данный момент оно имеет значение (нет)). Выбрав это свойство, установите в него значение contextMenuStrip1.
Рисунок 3.46- Свойств формы contextMenuStrip Снова запускаем приложение и нажимаем правую кнопку мыши.
Рисунок 3.47- Пример контекстного меню
Как видим на рисунке 3.47, меню работает. Аналогично меню можно создать панель инструментов toolStrip. Рисование на форме В клиентской области формы можно не только размещать элементы управления, но и выполнять рисование. В Framework.Net реализован расширенный графический интерфейс GDI+, обладающий широким набором возможностей. В пространство System::Drawing и System.Drawing2D включено большое количество классов, которые позволяют выполнить рисование в форме. Для рисования в формах нужно иметь объект класса Graphics, методы которого позволяют выполнять рисование в формах, и такие инструменты рисования, как – цвет, перо, кисть, шрифт. Класс Graphics – это основной класс, с помощью которого выполняется рисование. Создание объектов класса Graphics выполняется не обычным способом, с помощью операции gcnew, а с помощью методов CreateGraphics(). Методы рисования используют такие специальные инструменты, как: - цвет (color) – задает цвет пикселей области рисования; - перо (pen) – задает тип (шаблон) линии, с помощью которой выполняется рисование графического объекта; - кисть (brush) – задает шаблон заполнителя замкнутых областей формы; - шрифт (font) – задает способ рисования символов.
Класс перьев Pen Для описания перьев имеется класс Pen. Создание объекта Pen выполняется с помощью операции gcnew, при этом можно сразу задать цвет линии: System::Drawing::Pen^P=gcnew System::Drawing::Pen(Color::Black); Основным свойством данного класса является DashStyle, с помощью которого задается стиль линии, значения перечисления DashStyle, такие, как Solid (сплошная), Dot (точка), Dash (тире), DashDot (тире-точка), DashDotDot (тире-точка-точка). P->DashStyle::set(Drawing::Drawing2D::DashStyle::DashDotDot); Толщину линии можно изменить с помощью свойства Width: P->Width=5; Вместо создания нового пера можно использовать свойство статического класса Pens, в котором описаны системные перья толщиной в 1 пиксель. Например, Pens::Blue – перо голубого цвета толщиной в 1 пиксель.
Класс кистей Brush Для работы с одноцветными кистями имеется статический класс Brushes, в котором заданы одноцветные кисти стандартных цветов. Например: Brushes::Red – кисть для закраски сплошным красным цветом. Кроме того можно создать собственную кисть класса SolidBrush, для которой можно задать собственный цвет заданной интенсивностью. Цвет и его интенсивность (прозрачность) задается методом FromArgb объекта Color: Color col=Color::FromArgb(alpha, сolor); где - параметр alpha – задает прозрачность цвета. Чтобы создать непрозрачный цвет, установите для alpha значение 255.Чтобы создать полупрозрачный цвет, установите для alpha любое значение от 1 до 254. - параметр сolor – задает базовый цвет на основе которого создается новый. Например: Color customColor = Color::FromArgb(255, Color::Blue); SolidBrush^ Bsh = gcnew SolidBrush(customColor); Создана кисть Bsh непрозрачного голубого цвета. Для создания кисти класса HatchBrush со стандартным геометрическим рисунком можно создать объект данного класса, для которого выбрать узор, цвет рисунка и цвет фона: System::Drawing::Drawing2D::HatchBrush^ Brsh = gcnew System::Drawing::Drawing2D::HatchBrush (System::Drawing::Drawing2D::HatchStyle::Cross, Color::Aqua,Color::Red); Где Cross – узор, Aqua – цвет линий узора, Red –цвет фона. Класс шрифтов Font Для выполнения вывода текста в клиентской области формы нужно указать используемый шрифт, который задаются с помощью класса Font. При создании объекта класса Font задается тип шрифта и его размер. Кроме того можно задать стиль шрифта. Например: System::Drawing::Font^fnt = gcnew System::Drawing::Font ("Times New Roman", 24); Строка с названием шрифтов, которые установлены на компьютере может содержать такие названия, как "Times New Roman", "Arial" или "Courier New". Третьим параметром можно задать стили шрифта, такие как: Regular (обычный, по умолчанию), Bold (жирный), Italic (курсив), Underline (подчеркнутый), Strikeout (перечеркнутый). Например: System::Drawing::Font^fnt = gcnew System::Drawing::Font ("Courier New", 12,FontStyle::Bold | FontStyle::Italic);
Методы рисования В классе Graphics имеются следующие три основные группы методов рисования: 1) методы рисование текста; 2) методы рисование линий и 3) методы рисование и заполнения фигур. Рисование текста Для вывода текста на экран относительной левой верхней точки можно использовать следующий метод: DrawString(Текст, шрифт, кисть, координаты точки); Рассмотрим пример вывода текста на форму нажатием кнопка: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Graphics ^gf = CreateGraphics(); System::Drawing::Font^fnt = gcnew System::Drawing::Font ("Times New Roman", 24); SolidBrush^ shBsh = gcnew SolidBrush(Color::Red); gf->DrawString("Вывод текста!",fnt,shBsh,50,50); } Пример формы после нажатия кнопки "Текст" приведен на рисунке 3.48.
Рисунок 3.48 – Результат вывода текста Для рисования текста под углом вначале необходимо перенести начало координат в левый-верхний угол области вывода, выполнить поворот на заданный угол и только затем выполнить вывод текста. Например: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Graphics ^gf = CreateGraphics(); System::Drawing::Font^fnt = gcnew System::Drawing::Font ("Times New Roman", 24); SolidBrush^ shBsh = gcnew SolidBrush(Color::Red); gf->DrawString("Вывод текста!",fnt,shBsh,50,50); } Пример результатов после нажатия кнопки "Текст" приведен на рисунке 3.49.
Рисунок 3.49- Форма с текстом под углом 45о. Рисования простых фигур Для рисования простых фигур с помощью выбранного пера используется следующий набор перегруженных методов класса Graphics: - DrawLine(...) – рисование линии. Параметрами этого метода, кроме пера, являются координаты двух точек – начала и конца линии. - DrawRectangle(...) – рисование прямоугольника. Параметрами этого метода являются перо, координаты верхнего левого угла, ширина и высота. - DrawEllipse(...) – рисование эллипса. Эллипс создается как геометрическая фигура, вписанная в прямоугольник. То есть самого прямоугольника на рисунке не видно, но параметры эллипса, кроме пера, одновременно являются параметрами такого прямоугольника. - DrawPoligon(...) – рисование многоугольника. Рисует многоугольник, определяемый массивом структур Point. - DrawPie(...) – рисование сектора круга. Рисует сектор, определяемый эллипсом, который задан парой координат, шириной, высотой и двумя радиальными линиями. Эти методы рисуют только контуры фигуры, но не закрашивают их внутреннюю область. Рассмотрим пример вывода на форму эллипса пером заданного стиля и толщины. Рисование фигуры инициируется щелчком мыши по форме. Результат приведен на рисунке 3.50. private: System::Void Form1_MouseClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { System::Drawing::Pen^P=gcnew System::Drawing::Pen(Color::Black); Graphics ^gfx = CreateGraphics(); P->DashStyle::set(Drawing::Drawing2D::DashStyle::DashDotDot); P->Width=5; gfx->DrawEllipse(P,70,50,150, 80);
Приведем еще один пример рисования многоугольника на форме. Результаты приведены на рисунке 3.51. private: System::Void Form1_MouseClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { Graphics ^gfx = CreateGraphics(); Point x1= Point(140,50); Point x2= Point(70,100); Point x3= Point(70,200); Point x4=Point(200,200); Point x5=Point(200,100); array <Point>^xx={x1,x2,x3,x4,x5}; gfx->DrawPolygon(Pens::Red,xx); }
Рисунок 3.51 – Построение многоугольника
Рисование и закраска фигур Класс Graphics для закраски областей заданной кистью содержит набор перегруженных методов: - FillRectangle(...) – закраска прямоугольной области; - FillEllipse(...) – закраска эллипса; - FillPoligon(...) – закраска прямоугольника; - FillPie(...) – закраска сектора круга. Для закраски фигур вместо параметра Pen в этих методах используется параметр Brush. Приведем пример рисования прямоугольника с заливкой стандартным геометрическим узором. Результат приведен на рисунке 3.52.
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { Graphics ^gfx = CreateGraphics(); System::Drawing::Drawing2D::HatchBrush^ Brsh = gcnew System::Drawing::Drawing2D::HatchBrush (System::Drawing::Drawing2D::HatchStyle::Cross, Color::Aqua,Color::Red); gfx->FillRectangle(Brsh,50,50,160,100); } Параметры объекта Brush смотрите выше.
Рисунок 3.52 – Закраска фигуры
Рекомендуем самостоятельно попробовать другие стили заполнения, такие как DarkHorizontal, Weave, Percent20, SmallGrid и другие.
|
||
|
Последнее изменение этой страницы: 2017-02-08; просмотров: 521; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.011 с.) |