Студопедия — With canvas do
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

With canvas do






Begin

moveto(x,0);

lineto(x,height);

end;

end;

2. Запускають команду RUN і отримують запрограмовану вертикальну лінію (рисунок 13).

3. Здійснюють спробу «витерти» лінію з допомогою кнопки < ґумка > (рисунок 14), рухаючи нею по вікні застосунку. Переконуються про неможливість цього прийому, оскільки програмно відображена вертикаль прописана в тілі процедури FormPaint (вона є оброблювачем події OnPaint), яка автоматично відбувається за будь - яких візуальних змін на формі, а значить і під-час переміщення підлеглого формі об’єкту – Button2.

4.З допомогою мишки виконують розтягування вікна прикладної програми з відображеною на ній вертикальною лінією (рисунок15) і переконуються у тому, що вказана пряма продовжує існувати в межах від верху до низу форми оскільки це забезпечено параметром Y=0 процедури moveto(x,0) і параметром

Рисунок 13 - на вікні застосунку відображається вертикальна лінія відразу з появою вікна програми.

Y= height (Y отримав значення висоти форми) процедури lineto(x,height).

5. Доповнюють програмний код оброблювача події FormPaint, так щоб кількість вертикальних ліній задавалося у тілі програми, як змінна величина. У нижче приведеному коді ця величина позначена ідентифікатоором n, якому для прикладу, відразу надано значення 10.

Рисунок 14 - вертикальна лінія не стирається з допомогою «гумки»

Рисунок 15 - розтяжка вікна застосунку вліво і вниз.

6. До коду обробника події FormPaint додають оператор циклу, який забезпечуватиме багаторазовий виклик методів moveto(x,0) і lineto(x,height). У тілі підпрограми ця частина підкреслена.

procedure TForm2.FormPaint(Sender: TObject);

Var

i,d,x,n:integer;

Begin

n:=10;

x:=trunc(width/n);

d:=х;

for i:= 1 to n do

begin

with canvas do

begin

moveto(x,0);

lineto(x,width);

x:=x+d;

end;

end;

end;

7. Здійснюють команду RUN і спостерігають за появою 9 вертикальних прямих ліній на вікні застосунку (рисунок 16). Їх є 9, а не 10. Це є наслідком застосування функції trunc(width/n), яка відкидає дробову частину від результату виконання оператора ділення width/n. Рівномірність відстаней між лініями забезпечна за рахунок постійного кроку d. Йому ж надане значення x:=trunc(width/n) – відступу першої вертикалі від лівого краю форми.

8. Задля перевірки того, як поводитимуть себе графічні об’єкти під час змін розмірів вікна прикладної програми, його розтягають за допомогою мишки і переконуються в тому, що дійсно відбулося викривлення (рисунок 17) вертикальних ліній – повне чи часткове, або ж лінії розміщені не повсюдно по площині вікна.

Рисунок 16 - у вікні застосунку автоматично відображаються девять вертикальних ліній.

9. Клацають по копці < витерти все > і переконуються в тому, що оновлення вертикальних ліній у збільшеному вікні застосунку відбулося (рисунок 18). Це сталося тому, що процедура form2.Repaint фактично викликає подію OnPaint, Тим самим відбувається перемальовування самої форми і того, що на ній відображено згідно з програмним кодом записаним у оброблювачі цієї події- процедурі FormPaint. Причому відображення відбувається або згідно зі статично - запрограмованими значеннями властивостей вказаних у інспекторі об’єктів, або ж якщо б ці значення надавалися б динамічно в коді процедури FormPaint. Зауважують, що статично-запрограмовані значення властивостей Button1.Left, Button2.Left, Button2.Top, Button1.Width і т.д. на рисунках 17 і 18 залишаються тими ж.

 

Рисунок 17 - викривлення вертикальних ліній у вікні застосунку після його розтягування з допомогою мишки.

Рисунок 18 - ліквідація викривлень вертикальних ліній у вікні застосунку після клацання на кнопку <витерти все>;

10. Доповнюють програмний код обробника події FormPaint фрагментами, що стосуються відображення горизонтальних ліній - вони підкреслені у нижче наведеному програмному тексті.

procedure TForm2.FormPaint(Sender: TObject);

var i,d,x, y, n:integer;

Begin

n:=10;

x:=trunc(width/n);

y:=x;

d:=x;

for i:= 1 to n do

Begin







Дата добавления: 2015-09-07; просмотров: 336. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия