Самостоятельная работа для защиты проекта.




Задача об анкете.

Объекты: форма, текстовое поле, изображение, кнопка. Программирование кнопок

Цель работы: изучить применение компонент рисунок (Image), его свойства види­мость (Visible), доступность(Enabled), Picture, stretch.

Задание: Создать форму «Анкета студента» с данными о себе и двумя фотографиями (портретной и художественной), ко­торые перекрывают друг друга и должны появляться в результате нажатия на кнопки (рис. 4). Ознакомиться с такими объектами: форма (Form), текстовое поле (Label), рисунок (Image), кнопка (Button) и их основными свойствами: подпись (Caption), цвет (Color), шрифт (Font), види­мость (Visible), ширина (Width), высота (Height) и другими.

Теоретические сведения.

Объект Form используют для созда­ния окна программы-приложения. Рассмотрим такие свойства формы:

Свойство Описание свойства Примеры значений
ActiveControl Для задачи активно­го объекта (фокуса) в форме Buttonl, Edit2
AutoScroll Наличие в форме полос прокручива­ния True, False
BorderStyle Возможность менять размеры окна bsSizeable (окно с произволь­ными размерами), bsDilog, bsNone (окно с фиксирован­ными размерами)
Width, Height Ширина и высота окна в пикселях 503, 224 (числовые значе­ния)
Font Шрифт Комплексное свойство, зада­ется в диалоговом окне
HorizScroIlBar VertScrollBar Параметры полос прокручивания Комплексное свойство
Icon Задаем пиктограмму, которая будет раз­мещена в заголовке формы при выполне­нии программы (None) - стандартная пикто­грамма для Delphi, или за­груженная с определенного файла *.ico
Name Имя формы Forml (идентификатор)
Caption Заголовок формы Произвольная строка символов
Color Цвет фона формы clGreen, clInfoBk (перечис­лимый тип) или $004525В1 (числовое значе­ние - задается в диалоговом окне)
Cursor Вид курсора на сво­бодном месте окна на этапе выполнения crDrag, crCross, crHelp, crArrow (перечислимый тип)
Enabled Доступность для действий над объек­тами в форме во время выполнения True, False
Left, Top Координаты левого верхнего угла окна в пикселях 200, 108 (числовые значе­ния)
Position Размещение и раз­меры окна в момент запуска программы poScreenCenter, poDesigned
WindowState Состояние окна в момент запуска про­граммы wsNormal, wsMaximized, wsMinimized
       

Объект текстовое поле (Label) используют для создания тек­стов (надписей) в окне программы. Кроме аналогичных к выше приведенным в предшествующей таблице свойств Width, Height, Font, Color, Name, Caption, Cursor, Enabled, Left, Top, он владеет еще такими:

Свойство Описание свойства Примеры значений
Align Выравнивание поля относительно объекта, который его содержит (формы) alBottom, al-Client, alLeft, alNone, alTop
Alignment Выравнивание текста в границах поля taCenter, taLeft-Justify, taRight-Justify
AutoSize Приведение границ поля к границам текста True, False
Visible Видимость объекта True, False
Wordwrap Перенесение слов текста в новую строку True, False

Объект картинка (Image, изображение) используют для встав­ки графических объектов из файлов типа *.bmp, *.emf, *.ico, *.wmf в форму. Для работы найдите на диске своего компьютера любые три картинки или фотографии, указанного выше типа скопируйте их в папку, где находится вся ваша программа в «Мои документы\Проект1_фамилия».

Кроме известных свойств Align, Width, Height, Name, Cursor, Enabled, Left, Top, Visible, он обладает еще таки­ми:

Свойство Описание свойства Примеры значение
Center Выравнивание рисунка по центру относительно содержащего его поля True, False
Picture Имя графического файла Задают в диалоговом окне
Stretch Приведение размера изображения к задан­ным размерам объекта True, False
AutoSize Приведение размера объекта к реальным размерам изображения True, False

Объект кнопка (Button) используют для размещения элемента управления - кнопки на форме. Кнопки имеют такие свойства: Visible, Width, Height, Font, Color, Name, Caption, Cursor, En­abled, Left, Top и другие.

Ход работы

 

1. Загрузите систему визуального программирования Bilder C++

Для запуска системы визуального программирования Bilder C++ щелкают на пиктограмме Bilder или с помощью каскадного меню выбирают Start (Пуск) => Programs (Программы) ==> Bilder C++x.O => где х - версия программы. В ре­зультате на экране откроются четыре окна.

2. Исследуйте способы активизации четырёх окон Bilder C++:

главного окна Bildert C++ x.O - Project!; где находятся па­нель инструментов, палитра, компонентов и главное меню; окна инспектора объектов Object Inspector со значения­ми свойств активного объекта; окна формы (Forml), в котором будут приведены результаты работы будущей программы; окна текста программы (Unit1.cpp).

Замечание. Окно текста программы может частично перекры­ваться окном формы. Активизировать окна, а также менять их размеры или расположение можно с помощью мыши или ис­пользуя функциональные клавиши на клавиатуре:

F10 - для активизации главного меню (после этого нажмите на клавишу Esc);

F11 - для активизации окна инспектора объекта; F12 - для перехода между окнами формы и кода программы.

3. Запустите программу Projectl на выполнение и рассмотрите окно пустой пока что формы. Поупражняйтесь с окном фор­мы. Запустить программу можно несколькими способами: Используя команду Run => Run главного меню; Щелкнув на кнопке Run панели инструментов; Нажав функциональную клавишу F9.

Выполните такие действия: максимизируйте окно, восстанови­те его предыдущий размер, минимизируйте и снова разверните окно, передвиньте на рабочем столе и измените его размеры, вы­зовите системное меню (Alt + пропуск). Выполните те же дейст­вия с помощью команд Move, Size и других и клавиатуры. Вывод: окно формы обладает всеми свойствами стандартного окна операционной системы Windows.

4. Закройте окно программы Forml, минимизируйте главное окно Bilder C++ и создайте в «мои документы» или на ресурсе student папку с названием группы, а в ней папку, названную вашей фамилией и номер проекта. Снова активизируйте окно Bilder

5. Сохраните созданную программу в своей папке.

Для этого выполните команду главного меню File.=> Save All (Сохранить Все) или нажмите на кнопку Save All на панели инструментов. В поле «Save in:» (Сохранить в:) появившегося ок­на («Save Unitl As») с помощью списка. выберите название ра­бочего диска, после чего найдите и откройте свою папку. Используйте по умолчанию название для файла текста программы, предложенное компьютером название Unitl.pas => Save. В сле­дующем окне «Save Projectl As» появляется название файла проекта, предложенное компьютером название Projectl.dpr => Save. Обратите внимание: файлы проекта и текста программы должны иметь разные названия. Система BilderC++ генерирует до 10 различных файлов, сопровождающих проект.

6. Визуально ознакомьтесь со свойствами формы Left, Top, Width и Height.

Переместите форму Forml с помощью мыши. Обратите внима­ние, что изменение расположения формы ведет к изменению ее свойств Left и Тор — координат левого верхнего угла формы в ок­не Object Inspector. Поменяйте размеры формы. Убедитесь, что теперь меняются свойства Width (ширина) и Height (высота) фор­мы в окне инспектора объектов.

7. Исследуйте, как изменение значений свойств Left, Top, Width или Height формы в окне Object Inspector ведет к из­менению расположения или размера формы.

Для этого введите некоторое значение в пикселях и нажмите на клавишу Enter.

8. Измените цвет фона формы.

Для этого в окне свойств формы Object Inspector в строке Color выберите значение цвета фона одним из двух способов:

• вызовите окно выбора цвета двойным щелчком мыши по текущему значению свойства Color. Выберите один из ба­зовых цветов (Basic colors) или установите свой (Define Custom Colors) цвет. Подтвердите выбор цвета (Ok).

• с помощью списка поупражняйтесь с разными значе­ниями свойства Color. Задайте начальное значение цвета - clBtnFace.

  1. Выполните программу еще раз (см. пункт 3).

Рис.1

10. Вставьте в форму текстовое поле (объект типа Label) с тек­стом «Анкета студента».

Два раза щелкните мышью по пиктограмме Label на заклад­ке Standard палитры компонентов главного окна Delphi. Распо­ложите вставленный объект, например, так, как показано на рис. 1, перетягивая его мышью. Если объект Labell не выделен­ный, активизируйте его и в окне Object Inspector, измените зна­чение свойства Caption с Labell на текст «Анкета студента» (без кавычек). Измените значения свойства Font (шрифт) этого тек­стового поля на такие:

Font: Times New Roman Cyr;

Font style: Bold;

Size: 16;

Color: Purple.

Замечание. В окне Object Inspector отображается список свойств лишь активного на данный момент объекта.

11. Аналогично вставьте в форму еще несколько текстовых по­лей, где укажите свои биографические данные.

12. Вставьте в форму объект типа Image (картинка).

Для этого щелкните один раз левой клавишей мыши на пикто­грамме Image закладки Additional (дополнительные) палитры компонентов и, например, в нижнем правом углу формы обведите контур для будущего изображения (фотографии). Если нужно, из­мените размер формы или вставленного объекта и добейтесь наи­лучшего расположения на ней созданных прежде объектов. Менять размеры объекта можно методом их «растягивания» за маркеры (черные габаритные квадратики). Запомните название, которое сре­да присвоит этому объекту (значение свойства Name) или замените его по своему усмотрению. По умолчанию этот объект будет иметь стандартное название Image1.

13. Вставьте свою портретную фотографию с помощью свойства Picture (иллюстрация) объекта Imagel.

Для этого выберите объект Imagel и активизируйте свойство Picture в окне Object Inspector. Щелкнув на кнопке, вызовите диалоговое окно выбора рисунка Picture Editor. Щелкните на кнопке Load (загрузить) и в окне Load picture укажите путь к файлу с фотографией. Выше в теоретических сведениях предлагалось найти три картинки и скопировать в свою папку проекта1. Выберите любой файл и нажмите кнопку => Open. Подтвердите свой выбор в окне Picture Editor нажатием на кнопку Ok. Задайте значение свойства Stretch для объекта Imagel - True.

14. Наложите свою художественную фотографию на портрет­ную, вставив в форму еще один объект типа Image.

Один из вариантов расположения фотографии показан на рис.4. Пусть этот объект имеет название Image2.

Замечание. При наложении объектов может возникнуть необ­ходимость менять порядок их отображения. Для этого исполь­зуют команды Send To Back (переслать назад) или Bring To Front (перенести вперёд), находящиеся в контекстном меню.

15. Поэкспериментируйте со свойством Visible (видимость) двух изображений, каждый раз выполняя программу (см. пункт 3). После этого установите значение свойства Visible в False для обоих изображений.

16. Вставьте в форму кнопки для поочередного отображения наложенных одна на другую фотографий - два объекта типа Button с названиями Buttonl и Button2.

Пиктограмма ОK объекта типа. Button (кнопка) находится на закладке Standard палитры компонентов главного окна Bilder.

Поменяйте подписи на кнопках (измените значения свойства Caption) на «Портретная фотография» и «Художественная фото­графия», соответственно. Выберите наилучший, на Ваше усмотре­ние, кириллизированный шрифт для подписей. Если Вы приме­нили картинки из стандартной библиотеки Delphi, задайте подписи для кнопок на своё усмотрение. Один из вариантов рас­положения кнопок показан на рис. 4.

17. Запрограммируйте кнопку «Портретная фотография» так, чтобы после ее нажатия в форме появлялась портретная фо­тография.

Для программирования кнопки Button 1 необходимо два раза щелкнуть на ней левой клавишей мыши. В результате активизи­руется окно текста программы с заготовкой функция ButtonlClick, которая будет обрабатывать событие щелканья на кнопке Buttonl:

void ___fastcall TForm1:: Button1Click (TObject *Sender)

{

}

В заготовку необходимо вставить текст программы реакции на это событие. Функция будет иметь такой вид:

void ___fastcall TForm1:: Button1Click (TObject *Sender)

{

//Портретная фотография становится видимой

Image1->Visible =true;

//Художественная фотография становится невидимой

Image2->Visible=false;

}

 

С помощью данной функции свойство видимости для объекта Imagel включаем, а это же свойство для объекта Image2 выклю­чаем. Для кнопки «Художественная фотография» действия будут противоположные. Обратите внимание на использование состав­ных имен типа Image->Visible, в которых название объекта от его свойства отделяется стрелкой. Такие составные имена дают доступ к значению конкретного свойства некоторого объекта.

18. Запрограммируйте кнопку «Художественная фотография» соответственно ее назначению (см. пункт 17).

Текст процедуры для этой кнопки будет иметь вид:

void ___fastcall TForm1:: Button2Click (TObject *Sender)

{

//Портретная фотография становится видимой

Image1->Visible =false;

//Художественная фотография становится невидимой

Image2->Visible=true;

}

 

Чтобы создать такую функцию быстро, можно скопировать две команды присваивания из предыдущей процедуры в новую и поменять выражения справа.

19. Запустите программу и убедитесь, что кнопки выполняют свои функции. Закройте окно программы «Анкета студента».

20. Сохраните созданную программу в своей папке.

Выберите элемент главного меню File => Save All (Сохранить Все) или нажмите кнопку Save All И на панели инструментов.

21. Создайте ехе-файл проекта.

Выполните команду главного меню Project => Build All (Скон­струировать Все).

22. Закройте Delphi, выполните созданную программу и поуп­ражняйтесь с работой кнопок.

Запустите ехе-файл с именем проекта из своей папки.

23. Оформите отчет в соответствии с требованиями к оформлению отчета, запустите программу на выполнение, затем клавишами ALT и PrtSс (одновременно нажимая) скопируйте в буфер памяти изображение интерфейса программы (скриншот), после перейдите в WORD и вставьте командой Правка-Вставить или клавишами Shift и Insert (одновременно нажимая).

Самостоятельная работа для защиты проекта.

Выполнить записать в отчет код функции и рисунок с экрана при выполнении программы, подготовиться к защите.

Задача 1.1. Вставьте в форму третью фотографию (вашего дома или машины) и еще одну кнопку с соответствующей подписью. Если файл с такой фотографией не существует, воспользуйтесь любым файлом из библиотеки 16color (см. п. 13).

Скопируйте текст для третьей кнопки в отчет и сделайте скриншот программы

Задача 1.2. Поменяйте подписи на кнопках на такие: «Сме­нить фотографию» и «Забрать фотографию», Третью кнопку удалите с формы, и очистите текст тела процедуры для третьей кнопки. Сохраните изменения. Измените код программы на первой кнопке с текстом: «Сме­нить фотографию»

Для кнопки «Забрать фотографию» все три картинки должны стать невидимыми.

Подсказка.

В тексте процедур, описывающих работу кнопки, можно воспользоваться командами вида:

If (Image1-> Visible= = true) {.. //Если видимость = True т.е видна первая картинка, то нужно сделать её /не видимой // вторую картинку сделать видимой, при этом учтите, что //третья тоже должна быть пока не видима } else if(………….) { ……… } И.т.д.

Выполните программу и убедитесь в правильности ее ра­боты.

 

Задача 1.3. Поменяйте сценарий работы программы для задачи 1.2 на следующий:

• сразу после запуска программы фотографий на форме не видно (т.е. в Object Inspector для рисунков установлено свойство Visible ложь False), есть две кнопки «Первая » (поменяйте надписи на кнопках в свойстве Caption) и «Спрятать» (поменяйте надписи на кнопках в свойстве Caption). Доступной является первая кнопка (Установлено свойство Enabled (доступность) для первой кнопки);

• после щелчка на кнопке «Первая » долж­но появиться первое фото (Image1), текст на первой кнопке - поменяться на «Вторая », кнопка «Спрятать » стать доступной (запрограммировать свойство Enabled (доступность) на значение TRUE);

• после щелчка на кнопке «Вторая » фотография в форме должна поменяться на вторую картинку (т.е. Image2), а подпись на этой кнопке — на «Третья »;

• после щелчка на кнопке «Третья » фотогра­фия в форме должна поменяться на третью, а подпись на этой кнопке - на «Первая»;

• после щелчка на кнопке «Спрятать » фото­графии все должны исчезнуть, а эта кнопка стать недоступ­ной.

Подсказка. Условие реализации связать со свойством кнопки Caption

Запишите фрагменты программного кода в отчет. Выполните программу и убедитесь в правильности ее работы.

Подсказка. В тексте процедур, описывающих работу кнопок, можно воспользоваться командами, которые меняют их свойства: Caption (подпись), Visible (видимость), Enabled (доступность).

Задача 1.4. См. условие задачи 1.3. Запрограммируйте кнопку «Спрятать» так, чтобы, щелкнув на ней, она стано­вилась не только недоступной, но и невидимой, а затем при нажатии на первую кнопку появлялась. Составьте блок-схему на текст функции первой кнопки void ___fastcall TForm1:: Button1Click (TObject *Sender).

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: