Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Завдання. Створити графічний редактор з MDI-інтерфейсом, який повинен мати приблизно такий вигляд:




 

Створити графічний редактор з MDI-інтерфейсом, який повинен мати приблизно такий вигляд:

та містити такі елементи управління:

ü Головне меню програми, що складається із таких пунктів: Файл, Вид, Рисунок, Окна. Головне меню створити як для батьківського вікна, так і для дочірнього. Головне меню дочірнього вікна потрібно зробити прихованим, а всі його пункти меню мають відображатися в головному меню батьківського вікна у тому випадку, коли відкриті дочірні вікна. Нижче наведено приклад розкритих пунктів меню батьківського головного меню в тому випадку, якщо є відкритими два дочірніх вікна:

Якщо немає відкритих дочірніх вікон, то відкриті пункти меню виглядають так:

Розглянемо призначення пунктів меню:

· «Файл – Создать» – створення нового дочірнього вікна;

· «Файл – Выход» – завершення роботи додатку;

· «Файл – Сохранить» – збереження створеного зображення в активному дочірньому вікні.

· «Файл – Закрыть окно» – закриття активного дочірнього вікна;

· «Вид – Набор инструментов» – відображення чи приховування панелі інструментів;

· «Вид – Строка состояния» – відображення чи приховування рядка стану;

· «Рисунок – Очистить» – очищення області малювання дочірнього вікна.

· «Рисунок – Вставить рисунок из файла» – вставка в область малювання малюнка, що є графічним зображенням, отриманого із діалогового віна відкриття файлу – «Открыть»;

· «Окна» – містить список відкритих дочірніх вікон.

Для деяких пунктів меню задайте комбінації клавіш для швидкого виконання відповідної команди меню.

ü Панель інструментів, яка має містити такі кнопки:

· – олівець, що призначений для малювання довільної лінії в області малювання. Малювання може відбуватися тільки в тому випадку, коли ця кнопка є вибраною;

· – гумка, що призначена для стирання частини зображення. Стирання може відбуватися тільки в тому випадку, коли ця кнопка є вибраною;

· – виклик діалогового вікна налаштування колірної палітри;

· – мітка, яка змінює свій колір в залежності від того який колір вибрано в діалоговому вікні налаштування колірної палітри;

При наведенні на кнопки з панелі інструментів має відображатися підказка із назвою відповідної кнопки.

ü Рядок стану, що містить дві мітки, на одній із них відображається підказка, а на другій – поточні координати курсору на області малювання. На малюнках нижче відображено два різні стани рядку стану:

· курсор мишки розміщений над областю малювання

· курсор мишки розміщений над кнопкою

ü Область малювання. Областю малювання може бути елемент PictureBox, що розміщений на дочірній формі.

ü Контекстне меню області малювання, яке містить два пункти меню (дивись малюнок нижче).

Малювання. Те, як малювати мишею описано в теоретичній частині лабораторної роботи «Робота з мишею та клавіатурою». Для того, щоб при перекритті чи згортанні вікна намальоване мишею відображалося на області малювання, потрібно ще й малювати те, що на формі, одразу в пам’ять на об’єкті Bitmap. Для цього в класі Form2 (дочірня форма) потрібно задати змінну:

Dim t As New Bitmap(1000, 1000)

Зокрема ми створили об’єкт Bitmap з лінійними розмірами (1000, 1000) на якому будемо малювати в пам’яті.

Далі в процедуру MouseMove елемента управління PictureBox потрібно над об’эктом t створити об'экт классу Graphics.

Dim d As Graphics = Graphics.FromImage(t)

Потім крім малювання на елементі управління PictureBox, ми малюємо на об’єкті Bitmap:

d.DrawLine(New Pen(Color.Black, 2), xl, yl, x2, y2)

В процедуру MouseUp елементу управління PictureBox потрібно ще добавити код:

PictureBox.Image = t

Збереження малюнку. Для збереження намальованого малюнку, потрібно в процедуру Click елемента меню «Сохранить» добавити код:

If SaveFileDialog1.ShowDialog() = DialogResult.Cancel Then Exit Sub

PictureBox.Image.Save(SaveFileDialog1.FileName)

Вставка малюнку із файлу на область малювання. Для вставкималюнка із файлу на область малювання, потрібно в процедуру Click елемента меню «Вставить рисунок из файла» добавити код:

If OpenFileDialog1.ShowDialog() = DialogResult.Cancel Then Exit Sub

Dim n As Bitmap

n = New Bitmap(OpenFileDialog1.FileName)

Dim l As Graphics = Graphics.FromImage(t)

l.DrawImage(n, 0, 0)

Dim p As Graphics = PictureBox1.CreateGraphics

p.DrawImage(n, 0, 0)




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 294; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.