dex = -1, що означає відсутність обраної кнопки. p align="justify"> Компонент ListBox відображає списки рядків. ListBox відображає список в розкритому вигляді і автоматично додає в список смуги прокрутки, якщо всі рядки не поміщаються у вікні компонента. p align="justify"> Основна властивість компонента, що містить список рядків, - Items, що має тип TStrings. Заповнити його під час проектування можна, натиснувши кнопку з трьома крапками близько цієї властивості у вікні Інспектора Об'єктів. Під час виконання працювати з цією властивістю можна, користуючись властивостями і методами класу TStrings - Clear, Add і іншими. Номер вибраного рядка можжно дізнатися з властивості ItemIndex. Якщо жоден рядок не вибрана, то ItemIndex = -1. p align="justify"> Компонент ColorDialog викликає діалогове вікно вибору кольору. Основна властивість компонента ColorDialog - Color. Це властивість відповідає тому кольору, що вибрав в діалозі користувач. p align="justify"> Хід роботи
Частина 1.
1. Створіть новий проект і збережіть його у своїй папці. p align="justify"> Помістіть на форму компонент Shape (палітра Aditional) і ColorGrid (палітра Samples). Властивості Shape компонента Shape привласнити значення stRectangle. Властивості GridOrdering компонента ColorGrid привласнити значення go8x2. p align="justify"> Розташувати компоненти на формі наступним чином:
В
. Створимо обробник події OnChange компонента ColorGrid
Запустимо програму і подивимося як вона працює. Лівим клацанням по палітрі вибирається колір контуру (передній колір), правим - колір фону (задній колір). p align="justify">. Використовуючи компонент SpinEdit (палітра Samples) створимо можливість зміни товщини контуру від 1 до 50. p align="justify"> Властивості MaxValue задамо значення 50, MinValue - 1
У обробнику події OnChange компонента SpinEdit запишемо:
shape1.Pen.Width: = SpinEdit1.Value;
Розташуємо компонент Label (властивість Caption - Контур) і SpinEdit, як це показано на малюнку нижче.
. Розташуємо на формі компонент RadioGroup. p align="justify"> Привласнимо його властивості Captions і властивості Items (містить назви рядків списку) значення, як це показано на малюнку нижче. Зробимо так, щоб за замовчуванням був обраний перший компонент списку. Для цього властивості ItemIndex компонент а RadioGroupзададім значення 0 (нумерація в списку починається з нуля)
В
5. У обробнику OnClick для RadioGroup1 запишемо:
if RadioGroup1.ItemIndex = 0 then Shape1.Shape: = stCircle; {якщо обрано перший елемент списку}
if RadioGroup1.ItemIndex = 1 then Shape1.Shape: = stEllipse; RadioGroup1.ItemIndex = 2 then Shape1.Shape: = stRoundRect; RadioGroup1.ItemIndex = 3 then Shape1.Shape: = stRoundSquare; RadioGroup1. ItemIndex = 4 then Shape1.Shape: = stSquare;
6. Розташуємо на формі компоненти Label (властивість Caption - Спосіб заливки) і компонент ListBox. У Редакторі списку рядків компонента ListBox (викликається клацанням по властивості Items) введіть значення, як це показано на малюнку вище. p align="justify">. У обробник OnClick компоненту ListBox введемо наступний код:
if ListBox1.Selected [0] then Shape1.Brush.Style: = bsSolid; ListBox1.Selected [1] then Shape1.Brush.Style: = bsClear; ListBox1.Selected [2] then Shape1. Brush.Style: = bsBDiagonal; ListBox1.Selected [3] then Shape1.Brush.Style: = bsFDiagonal; ListBox1.Selected [4] then Shape1.Brush.Style: = bsCross; ListBox1.Selected [5] then Shape1.Brush. Style: = bsDiagCross; ListBox1.Selected [6] then Shape1.Brush.Style: = bsHorizontal; ListBox1.Selected [7] then Shape1.Brush.Style: = bsVertical;
Запустимо програму і подивимося як вона працює.
Частина 2.
1. Створіть новий проект і збережіть його у своїй папці.
2. Наше завдання добитися наступного ефекту: при клацанні мишки по формі на ній повинна з'явитися фігура. Їли клавіша Shift не натискати, це буде коло, якщо натиснута - квадрат. Для цього в обробнику події OnMouseDown форми напишемо код:
if Button = mbLeft thenssShift in Shift then.Rectangle (x-10, y-10, x +10, y +10) canvas.Ellipse (x-10, y-10, x +10 , y +10);
3. Зробимо так, щоб при русі курсору миші в заголовку форми відображалися його координати. У обробнику OnMouseMove запишемо:
caption: = Format ('Фігури: X =% d, Y =% d', [X, Y]);
4. Помістимо на форму компоненти MainMenu і ColorDialog.