Графічні елементи керування

У Visual Basic існує три об'єкти керування, які використовуються для створення графічних ефектів у програмі:

  • Об'єкт управління "Образ" (Image );
  • Об'єкт типу "фігура" (Shape ) служить для створення простих фігур, включаючи прямокутники та круги;
  • Об'єкт типу "лінія" (Line ) служить для створення ліній.

Згадані об'єкти можуть використовуватись для створення графіки лише під час проектування. Створення зображень з використанням об'єктів управління в порівнянні з додатком для цієї мети графічних методів дає принаймні дві переваги:

  • виходить менш об'ємна програма;
  • об'єкти використовують мінімум системних ресурсів.

Об'єкт управління типу «лінія»

Об'єктLine зовні є відрізок прямий. Властивості лінії, такі як стиль, колір, товщина та координати початкової та кінцевої точок, можна змінити за допомогою вікна властивостей. Лінію можна переміщати по поверхні форми звичайним способом за допомогою миші та змінювати її розміри, переміщуючи один із її кінців.

Об'єкт управління типу «фігура»

Об'єкт управління типу «фігура» абоShape може застосовувати вид ряду визначених фігур:

  • Прямокутника (з прямими або закругленими кутами);
  • Квадрата (з прямими або закругленими кутами);

Фігурою за замовчуванням є прямокутник, інші доступні типи фігур можуть бути встановлені за допомогою вікна властивостейShape.

  • Колір та пропорції фігури встановлюються у вікні властивостей.
  • Якщо вибрано коло, то найбільше коло, який може бути вписаний у прямокутник, що обмежує форму;
  • Кола не можуть розтягуватися в овали.

Об'єкт типу «фігура» має багато властивостей, як і іншіоб'єкти, наприкладName,Left ( найліва координата), Top (з найправіша координата), Height ( висота),Width ( ширина)

Вправа 4. Робота з графічними елементами управління

1. Додайте до проекту форму. Дайте їй ім'яfrmShapeLine, а властивостіCaption = «Графічні елементи управління».

2. На панелі елементів керування виберітьЛінія (Line ).

3. Встановивши курсор миші в нижній лівий кут форми, натисніть ліву кнопку миші і, не відпускаючи її, встановіть курсор у верхній правий кут форми. Відпустіть кнопку. На формі з'явиться зображення лінії. У вікні властивостей лінії встановіть значення властивостейBorderStyle =5 таBorderColor – червоний.

4. Виконуючи аналогічні дії, намалюйте лінію, що проходить із верхнього лівого кута форми у правий нижній. У вікні властивостей лінії встановіть властивості значення властивостейBorderWidth =8 іBorderColor – зелений.

5. На панелі елементів керування виберіть графічний елемент керуванняShape. Послідовно встановлюючи властивістьShape, встановіть на формі шість стандартних контурів (прямокутник, квадрат, овал, коло, прямокутник і квадрат із округленими кутами). Прямокутнику встановіть властивість BorderStyle = 2, квадрату - 3, овалу - 5, колу - 1, Прямокутнику з округленими кутами встановіть властивість BackStyle = 1, BackColor = сірий. Квадрату з округленими кутами якість BorderStyle встановіть рівним 1, BackStyle = 1, а BackColor - жовтий.

6. Зробіть форму завантаженої та запустіть проект. Результат роботи проекту має вигляд приблизно як на рис. 16.

графічних

ВластивостіFillStyle (Cтиль заповнення) таBorderStyle (Стиль кордону) використовуються длявстановлення стилю заповнення та стилю кордону будь-якого контуру, намальованого на формі.

ВластивістьBackColor (Колір фону) таFillColor (Колір заповнення) дозволяють додати кольори до контуру та його межі та встановлюються у вікні властивостей вибором з доступної палітри чи системних кольорів.

Графічні методи

Графічні методи, перелічені у табл. 3, застосовні до форм та графічних вікон.

Графічні методи доцільні у ситуаціях, де використання графічних елементів керування потребує занадто багато зусиль, і вони дозволяють створювати деякі ефекти, які не доступні у графічних елементах керування. Але створення графіки за допомогою графічних методів вимагає написання коду, а це означає, що треба запустити програму, щоб побачити результати виконання графічних методів. Зміна виду графічних елементів під час розробки простіша, ніж налагодження коду для графічних методів.

  • На формі з ім'ямMyForm

MyForm.Pset (500, 500)

  • На графічному вікні з ім'ямpicPicture 1
  • На поточній формі

Кожна область малювання має власну систему координат, яка визначає одиниці вимірів під час малювання. Крім того, кожна область малювання має свій повний набір графічних властивостей.

ВластивостіCurrentXтаCurrentY

Основним поняттям при малюванні є поточна (current ) крапка.VB дозволяє малювати фігури без вказівки початкової точки. Якщо початкова точка лінії не вказана, нею стає поточна точка після того, як лінія проведена, поточною стає її кінцева точка. ВластивостіCurrentX таCurrentY встановлюють або зчитують координатипоточної точки у одиницях поточної системи координат. Щоб відобразити на формі рядок з конкретними координатами, потрібно встановити їх у властивостіCurrentX таCurrentY, а потім використовувати методPrint для відображення рядка.

Малювання ліній

Метод малювання ліній, званийLine, має наступний синтаксис:

Line[step] (X1, Y1) - [step] (X2, Y2), [color], [b] [f]

Аргументи в координатних дужках є необов'язковими. Початкова точка лінії має координатиХ 1 таY 1, кінцева -Х 2,Y 2. Наступний оператор демонструє найпростіший спосіб використання цього методу.

Line (X1, Y1) - (X2, Y2)

Координати кінцевої точки лінії виражаються в одиницях системи координат елемента. Товщина лінії задається властивістюDrawWidth, а стиль -DrawStyle.

Встановлення кольору

Колір малюнка задається встановленням властивостіForeColor форми або елементаPictureBox. У цьому місці можна малювати кольоровими лініями, задаючи значення (необов'язкового) аргументуcolor, використовуваного методамиLine іCircle (останній розглядається далі). Оператори, які демонструють використання цього аргументу, показано нижче.

Line (10,10) - (100,100), RGB (255,0,0)

Line (10,10) – (100,100), &HOOOOFF

Line (10,10) – (100,100), QBColor(3)

Line (10,10) - (100,100), RedColor#

У всіх прикладах прокреслюється червона лінія з точки з координатами (10,10) в точку (100,100), незалежно від установок якостіForeColor. Як аргументcolor методу можна використовувати будь-який вираз, що встановлюєкоректне значення кольору (colorexpression ). Зазвичай колір лінії визначається установкою властивостіForeColor елемента, проте для поточної лінії аргументcolor методуLine переважає над властивістюForeColor. Якщо ви намалюєте іншу лінію, не задаючи аргументcolor, то її колір буде відповідати установці властивостіForeColor елемента. Таким чином, за відсутності параметра кольору, він співпадатиме зі значенням властивостіForeColor об'єкта.

Як видно з прикладів, параметрcolor (колір) – це вираз, значенням якого є число типуLong, яким уVB кодується той чи інший колір. Як вираз може використовуватися:

  • функціяRGB;
  • функціяQBColor.
  • число типуLong ;
  • одна з восьми константVB, поданих у таблиці 4.

Продовження таблиці 4.

Значення констант таблиці 4, що є довгим цілим числом, можна подати у вигляді суми трьох доданків:R + 256∙G + 256 2 ∙В, де кожна зі змінних (R,G таВ ) набуває одного з двох значень – 0 або 255.

Якщо зміннимR,G таВ привласнити інші цілочисельні значення від 0 до 255, наприклад:R = 64,G = 128 іВ = 192, при цьому зазначена сума відрізнятиметься від значень у табл. 4, а колір, що позначається цією сумою, – від наведених у таблиці кольорів.

Значення функціїRGB (R,G,В ) – це значення значення зазначеної суми, що має типLong (Довге ціле число).

Очевидно, що кількість значень, які може набувати функціїRGB, дорівнює 256 3 . Саме така кількість різних колірних відтінків можуть використовувати графічні методиVisual Basic.

Кожен відтінок є сумішшю трьох кольорів: червоного (Red ), зеленого (Green ) і синього (Blue ). Значення змінноїR - це частка червоного кольору в цій суміші, значення змінноїG - частка зеленого кольору, а значення змінноїВ - частка синього кольору. Якщо всі три значення однакові, кольори нейтралізують одне одного, тоді виходить чорний, сірий чи білий. Чим менше значення змінних, тим колір ближче до чорного, чим більше значення, тим колір ближче до білого.

Якщо значенняR,G іВ не збігаються, то виходять відтінки найрізноманітніших кольорів. Наприклад, якщоR = 0, аG =В, виходить блакитний колір (Cyan ); якщоG = 0, аR =В, виходить бузковий колір (Magenta ), якщо жВ=0,аR =G, виходить жовтий колір (Yellow ). Всі ці кольори будуть яскравішими, якщо ненульові значення ближче до 255, і наближатимуться до чорного, якщо ненульові значення наближаються до 0.

Крім перерахованих способів завдання кольору, уVB є ще один – за допомогою функціїQBColor, єдиним аргументом якої є ціле числоС, а значенням – код кольору[4]. Назви цих кольорів наведено у таблиці 5. У дужках вказані константиVB, яким відповідають деякі з них.

Кодуваннякольори за допомогою функціїQBColor