Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема ’25. Компоненты управления Цель- Изучить компоненты управления

Работа добавлена на сайт samzan.net: 2015-12-26

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024


ҚР ДЕНСАУЛЫҚ САҚТАУ МИНИСТРЛІГІ

С.Д.АСФЕНДИЯРОВ АТЫНДАҒЫ

ҚАЗАҚ ҰЛТТЫҚ МЕДИЦИНА УНИВЕРСИТЕТІ

МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РК

КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ МЕДИЦИНСКИЙ  УНИВЕРСИТЕТ ИМЕНИ  С.Д.АСФЕНДИЯРОВА

Тема №25.  Компоненты управления

Цель: Изучить компоненты управления. Научиться добавлять и удалять компоненты проекта с помощью менеджера проектов. Научить создавать, добавлять новую форму в приложение, переходить из одной формы в другую.

Задачи обучения: Формирование умений и навыков создания приложении с использованием компонентов управления, по добавлению и удалению компоненты проекта с помощью менеджера проектов.

Организационная часть                                                           -    5  мин

Перекличка студентов и выяснение причин отсутствия студентов,.

Количество формируемых   компетенций: знания,  практические навыки.

Основные вопросы темы: - 45 мин

1. Управление проектом.

2. Добавление новой формы.

3. Компонент управления – флажок (CheckBox).

4. Компоненты управления – переключатель (RadioGroup, RadioButton, GroupBox).

5. Создание приложения (управление проектом).

Методы обучения и преподавания:  деловые игры, ажурная пила.

Методы контроля формируемых на занятии компетенций: 

  •  тестирование проводится в компьютерной форме (студент должен ответить на «тест», содержащий в себе минимальные знания и навыки – основные определения, теоретические вопросы данной темы);
  •  решение ситуационных задач (занятии студент должен выполнить индивидуальное задание:  по получению определенных навыков, решению типовых задач);

Самостоятельная работа студентов                                  - 50  мин

Освоение практических навыков: Решение типовых и ситуационных задач.  

Вся информация, относящаяся к текущей разрабатываемой программе, объединяется в рамках системы Delphi7 в один проект, который хранит все необходимые настройки в специальных файлах. Проектом управляет Менеджер проекта – программа, входящая в состав системы Delphi7. В функции Менеджера входит визуальное представление структуры проекта и его содержимого (это могут быть не только файлы с исходными текстами и файлы форм, но и любые другие файлы). Менеджер проекта дополнительно позволяет вести одновременно несколько проектов, объединенных в одну группу. Он вызывается командой ViewProject Manager (Вид – Менеджер проекта) и наглядно показывает структуру группы ProjectGroup1 (рис.25.1).

Рисунок 25.1. Отображение сведений в Менеджере проектов

В эту группу пока что входит единственный проект Project1, состоящий, в свою очередь, из единственного модуля Unit1 (он включает форму MyForm и файл Unit1.pas с исходными текстами, описывающими работу этой формы). Тип результирующего приложения, которое будет получено в результате компиляции (это либо исполнимый код – файл.ЕХЕ, либо динамическая библиотека – файл.DLL), указан полужирным шрифтом. Для проекта, созданного командой FileNewApplication (Файл – Создать – Приложение), по умолчанию считается, что он предназначен для получения исполнимого кода, поэтому в Менеджере проекта полужирной строкой выделено Project1.exe.

Любой компонент из проекта можно удалить, щелкнув на кнопке Remove (Удалить). С помощью кнопки New (Создать) можно добавить новый компонент как в проект, так и в группу. Свойства любого из объектов, доступных в Менеджере (от группы проектов до отдельной формы), можно изменить, щелкнув на значке объекта правой кнопкой мыши. Контекстное меню содержит набор пунктов, позволяющих выполнить и настройку, и компиляцию, и редактирование. Для быстрого перехода из Менеджера проекта к редактированию конкретного объекта (исходного текста или формы) достаточно дважды щелкнуть на значке этого объекта.

К группе объектов можно добавлять ранее созданные проекты. Это выполняется командой Add Existing Project (Добавить существующий проект) контекстного меню. Ранее созданные формы и соответствующие им файлы с исходными текстами добавляются к конкретному проекту командой Add (Добавить).

Структура проекта представлена в виде «дерева». Это стандартный подход к отображению иерархически организованной информации в Windows. Стандартны и основные приемы по работе с подобными «деревьями»: отдельные «листья» и «ветви» можно перемещать между узлами с помощью мыши.

Добавление новой формы

Продолжать изучение компонентов и возможностей системы Delphi7, размещая объекты на одной форме, неудобно. Если форма перенасыщена элементами управления, то надо либо создать новый проект (его лучше включить в текущую группу ProjectGroup1, чтобы сохранить целостность примеров), либо добавить к текущему проекту Project1  новую форму. Пока остановимся на последнем варианте.

Новая форма добавляется к текущему проекту одним щелчком мыши на командной кнопке New Form (Создать форму) или командой FileNewForm (Файл – Создать – Форма). При этом в Проектировщике сразу появится новая пустая форма. Называться она будет Form2, а соответствующий ей файл с исходными текстами добавится в редактор на новую панель Unit2. Теперь проект надо сохранить, при этом система Delphi7 поинтересуется названием нового модуля (пока что его лучше оставить без изменений - Unit2).

Замечание: Переключаться между имеющимися в проекте формами можно с помощью командной кнопки View Form (Отобразить форму) или комбинаций клавиш SHIFT+F12.

У программы может быть только одна главная форма – это форма, которая показывается при запуске программы, - и неограниченное число подчиненных форм, вспомогательных окон, которые исходно на экране не появляются, а вызываются по команде из программы с помощью специальных методов.

Замечание: Исходно подчиненные формы не показываются по одной простой причине – значение их свойства Visible (Видимость) первоначально установлено в False. Свойство Visible имеют все без исключения компоненты Delphi7, представляющие собой элементы управления. Изменяя значения свойства Visible во время работы программы, можно мгновенно делать любые объекты видимыми или невидимыми.

Добавим, например, к главной форме еще одну кнопку и назовем ее Окно. При щелчке на ней должна отображаться форма Form2. Сделать это можно несколькими способами.

Показ формы как обычного окна

Чтобы форма отображалась как обычное окно, проще всего записать в свойство Visible формы Form2 значение True.

procedure TMyForm.Button3Click(Sender:TObject);

begin

Form2.Visible:=true;

end;

Если теперь выполнить компиляцию проекта, то система Delphi7 сообщит об ошибке: идентификатор Form2 в модуле Unit1 неизвестен. Одновременно система предложит включить в список подключаемых модулей новый модуль Unit2, где, по предположению системы, находится описание соответствующей переменной.

В данном случае это действие оправдано, поэтому ответить надо Yes (Да) и выполнить компиляцию повторно – ошибок уже не будет. Однако лучше всего не забывать указывать ссылки на новые подключаемые к проекту модули самостоятельно.

Теперь, после запуска программы и щелчка на кнопке Окно на экране возникает новое пустое окно (форма Form2). Она связана с родительским окном (главной формой MyForm): между ними можно свободно переключаться, а при закрытии главного окна автоматически закроются и все вспомогательные формы (но не наоборот!).

Если закрыть форму Form2, реально произойдет изменение значения ее свойства Visible с True на False, поэтому при щелчке на кнопке Окно форма появится опять. Если щелкнуть на кнопке Окно, когда форма Form2 видима, ничего не изменится.

Вместо оператора присваивания для показа формы лучше применять ее метод Show.

procedure TMyForm.Button3Click(Sender:TObject);

begin

Form2.Show;

end;

Он хорош тем, что показывает форму, перемещает ее на передний план экрана и делает активной.

Показ формы как модального окна

Между появившейся на экране формой Form2 и главным окном (MyForm), а также между другими подчиненными формами проекта, если бы они тоже были созданы и показаны, можно переключаться произвольным способом. Такой подход не всегда удобен, потому что не дает пользователю сосредоточиться на конкретном действии и позволяет, не закончив работу в одном окне, выполнять новые действия в другом окне. Подобный многооконный принцип при создании программ себя не оправдывает, так как требует от разработчика больших усилий по непрерывной координации состояний множества окон и только усложняет общение с человеком. Сегодня он применяется в основном в сложных системах, наподобие систем разработки типа Delphi7, где одним окном не обойтись. А вспомогательные формы в обычных прикладных программах используются, как правило, для создания диалоговых окон, с которых невозможно переключиться на другие окна приложения, пока они не будут закрыты (такой режим работы окна еще называется модальным). Модальные окна хорошо подходят, в частности, для задания всевозможных настроек, выполнения ввода промежуточных значений, отображения результатов и других операций.

Чтобы вызвать форму в модальном режиме, надо использовать метод ShowModal.

procedure TMyForm.Button3Click(Sender:TObject);

begin 

Form2.ShowModal;

end;

Теперь, когда после щелчка на кнопке Окно на передний план появится форма Form2, переключиться с нее на главное окно не удастся, пока она не будет закрыта. Переключаться на любые другие приложения Windows, конечно, можно без ограничений.

К оформлению модальных окон предъявляется набор негласных, но практически не имеющих исключений требований.

1. Диалоговое окно не должно позволять менять свои размеры. Для этого в свойстве BorderStyle (Стиль границы) надо выбрать любое значение, не допускающее изменения размера.

Таблица 25.1. Значения свойства BorderStyle

Значение

Вид границы окна

bsDialog

bsSingle

bsNone

bsSizeable

bsToolWindow

bsSizeToolWin

Размер окна менять не разрешается. Вид границ – как у стандартных диалоговых окон Windows

Размер окна менять не разрешается. Вид границ – тонкая полоса

Размер окна менять не разрешается. Видимая граница отсутствует

Стандартная граница, допускающая изменение размеров окна

Аналогично bsSingle, но высота заголовка окна уменьшена

Аналогично bsSizeable, но высота заголовка окна уменьшена

Лучше всего использовать значение bsDialog, специально предназначенное для оформления диалоговых окон.

2. Свойство BorderWidth (Ширина границы окна) определяет область, на которой не разрешается размещать элементы управления. Для этого свойства надо задать подходящее значение (например 2), потому что диалоговые окна имеют достаточно широкие границы.

Компонент Флажок (TCheckBox)

Данный компонент используется для включенного или выключенного состояния  (одного из двух).

После размещения компонента Флажок на форме подпись к этому элементу управления можно задать в свойстве Caption. Расположение этой подписи определяется свойством Alignment: значение taRightJustify означает расположение подписи справа, а значение taLeftJustify  - слева. Главное свойство флажка называется Checked. Оно доступно для изменения и на этапе проектирования, и на этапе работы программы. Это свойство принимает значение True, если флажок включен, и False, если он сброшен.

Некоторые флажки могут находиться в третьем, «частично установленном» состоянии, когда признак установки флажка отображается приглушенным цветом. Такая возможность нужна, когда требуется сообщить пользователю о полном соответствии указанному статусу (например, в ходе установки программ таким образом сообщается, что для установки выбраны не все доступные средства).

Если для свойства AllowGrayed задано значение True, то флажок при последовательных щелчках на нем будет поочередно принимать состояния «сброшен», «установлен частично», «установлен». Определить текущее состояние или задать новое из числа доступных можно, проверив или изменив свойство State (табл.25.2). Чтобы реагировать на изменение состояния флажка, надо создать обработчик события OnClick.

Таблица 25.2. Значения свойства State

Значение

Состояние флажка

cbUnchecked

cbGrayed

cbChecked

Сброшен

Установлен частично

Установлен

Компонент Переключатель (TRadioButton)

В отличие от флажка, переключатель предназначен для выбора одного значение из ряда возможных. Переключатели всегда используются группами. Когда пользователь выбирает один из них, то выделение с текущего переключателя снимается. Таким образом, в группе выделен всегда ровно один переключатель.

Так как мы создаем группу переключателей, на форме надо расположить несколько компонентов TRadioButton. Программа поймет, что выделенным должен быть только один из них.

Свойства компонента Переключатель аналогичны свойствам компонента Флажок. Свойство Alignment определяет положение подписи справа или слева от переключателя, а свойство Checked – состояние объекта (True, если переключатель включен).

Методы GetChecked и SetChecked, позволяющие обращаться к свойству Checked и изменять его значение, в тексте программы явно не используются. Они предназначены для использования в классах-наследниках TRadioButton (конкретных реализациях переключателя) в соответствии с принципом инкапсуляции.

Для отслеживания состояния конкретного переключателя можно обрабатывать событие OnClick.

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

Компонент Группа переключателей (TRadioGroup)

Если в программе требуется использовать несколько групп переключателей (например, одну для указания пола человека, а другую для выбора возрастной категории), можно применить один из двух подходов. Первый состоит в выделении для каждой группы специального объекта (панели), чтобы система Delphi могла понять, как объединяются переключатели. Второй подход состоит в использовании компонента TRadioGroup, который объединяет свойства и методы, обеспечивающие поддержку работы группы переключателей.

После размещения на форме компонента TRadioGroup входящие в него переключатели задаются перечислением их названий. Эти названия вводятся в свойство Items, имеющее тип TString. Так как требуется ввести не одну строку, а несколько, для их ввода предусмотрен специальный редактор, который вызывается щелчком на специальной кнопке, расположенной справа в строке, описывающей свойство Items. Большая текстовая область окна редактора предназначена для ввода названий переключателей, по одному в каждой строке. Не следует забывать о поддержке возможности управления программой с помощью клавиатуры, поэтому перед некоторыми буквами в названиях надо указать символ &, чтобы сделать эти буквы «горячими». Затем щелкните на кнопке ОК, и внешний вид объекта RadioGroup1 на форме сразу изменится.

Так как компонент TRadioGroup представляет единое целое со своими переключателями, использовать его в программе надо совсем не так, как компонент TRadioButton.

Так, свойство Caption определяет не подпись каждого переключателя (эти подписи теперь задаются в свойстве Items), а заголовок группы (исходно она называется RadioGroup1). Свойство Columns задает число столбцов (первоначально один), образованных переключателями. Свойство ItemIndex (исходное значение -1)  содержит номер выделенного переключателя (число -1 показывает, что ни один переключатель не выбран). Значение этого свойства изменяется автоматически, когда пользователь выбирает один из переключателей группы. Разрешается менять его и программно: при занесении нового значения в свойство ItemIndex изменится и текущий выбранный переключатель на форме.

Панели и декоративные элементы

На панели компонентов Стандартные (Standard) имеются два компонента: TGroupBox и TPanel, - которые обладают, на первый взгляд, схожими областями применения. Оба компонента можно использовать для взятия части формы в рамку и для группирования элементов управления путем размещения их внутри области, охваченной этими объектами. В частности, компонент TGroupBox иногда используется для создания нескольких групп переключателей, когда обойтись стандартными возможностями компонента TRadioGroup не удается.

Панель обладает более общими свойствами. Это не только средство создания рамок разнообразного вида (выпуклых, вдавленных и так далее). Панель также предназначена для объединения произвольных элементов управления с возможностью их перемещения (перетаскивания) по форме вместе с родительской панелью и стыковки с другими панелями. Такая технология популярна в современных приложениях Windows.

После размещения панели на форме ее внешний вид можно настроить с помощью целого набора свойств.

  •  Свойства BevelInner и BevelOuter задают стили оформления соответственно внутренней и внешней рамок панели. Они могут принимать одно из четырех значений.
  •  Свойство BevelWidth определяет расстояние между внутренней и внешней рамками (в пикселях).

Таблица 25.3. Значения свойств BevelInner и BevelOuter

Значение

Вид рамки

bvNone

bvLowered

bvRaised

bvSpace

Отсутствует

«Вдавленная» рамка

«Выпуклая» рамка

«Плоская» рамка

Перерыв                                                                                  - 10 мин              

Совместная работа студента с преподавателем             - 25 мин

После выполнения практической части работы, преподаватель проверяет правильность и последовательность действий студентов, достигли они конечного результата. Затем преподаватель проводит опрос студентов с анализом темы. Выясняет практическое его применение.

 Контроль заключительного уровня знании     - 20  мин

Преподаватель проводит анализ результатов практической работы студентов,  выясняет осознанно ли выполнили работу. Затем студенты сдают тесты для контроля знаний.

Контроль

Вопросы:

1. Назначение CheckBox. Обработка свойства Checked.

2. Назначение RadioGroup и его основные свойства.

3. Назначение RadioButton и его основные свойства.

4. Назначение GroupBox и его основные свойства.

5. Что такое менеджер проектов?

6. Как добавить новую форму?

7. Как удалить форму?

Тесты: См. Сборник тестовых заданий по «Информатике», тема « Основы программирование языка Delphi»

- Общая оценка знаний                                                                  - 5  мин

Преподаватель анализирует компетенций знаний,  практические навыкинавыки

Студентов по данной теме, проводит разбор общих ошибок допущенных студентами при выполнении заданий. Затем преподаватель анализирует достижения и недостатки каждого студента с выставлением итоговой оценки в журнал по двум параметрам (за знания и практические навыки).

Литература:

1. С. И. Бобровский. Учебный курс Delphi7. Питер, 2006г.

2. Г.Г. Рапаков, С.Ю. Ржеуцкая. Программирование на языке Паскаль. Санкт-Петербург, 2005г.

3. Н.Культин. Учебный курс Delphi. Санкт-Петербург, 2005г.

4. Н.Культин. Delphi в задачах и примерах. Санкт-Петербург, 2005г.

5. Е.Р. Алексеев, О.В. Чесноков. Шаг за шагом. Москва, 2005г.

стр - 3 из 7


Добавление компонента проекта

Удаление компонента проекта

Имя текущего проекта

Структура группы проектов

аталоги, в которых размещены файлы




1. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук Київ 2004 Дисертація є рукописо
2. ношений привело к постепенному восстановлению в России института коммерческого кредитования связанного с
3. тема. Воздействие средств физической культуры и спорта природных социальных и экологических факторов на ор.html
4. тема БезБанка это место встречи тех кому нужны деньги и тех кто готов ими поделиться
5. третья столица России см
6. Courses; I will nswer itI m too bold ~tis not to me she speks-Two of the firest strs in ll the hevenHving some business do entret her eyesTo twinkle in their spheres till they return
7. Реферат- Газораспределительный механизм автомобиля ГАЗ 24-10 Волга
8. Профессиональная и социальная адаптация в коллективе Необходимость профессиональной и социальной адапта
9.  Сущность правового института освобождения от уголовной и административной ответственности 1
10. Микроэкономика для студентов 1 курса направления 080100
11. Пушкин в роли министра образовани
12. Иск и право на иск в гражданском процессе1
13. Какой процесс развился в тонкой кишке у больного 2
14. д 53-02 ук2 д 62-23 ук3 пр
15. Элитные Семена Контакты- 614500 г
16. Хочу отметить что наши сегодняшние проблемы не являются результатом ошибок прошлого
17. Зоонозные инфекции
18. Анжелеса я сразу же забрался в угол полувагона и улегся подложив вещмешок под голову закинув нога на ногу и
19. на тему Инвестирование реального сектора экономики за период 1995 2008 гг
20. Институт профессиональных бухгалтеров и аудиторов России ИПБ России самая крупная саморегулируемая не