Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Задание 1. 2. Сохраните новый проект в отдельно созданной папке.






1. Запустите C++ Builder.

2. Сохраните новый проект в отдельно созданной папке.

3. Присвойте основной форме заголовок, в качестве имени которого используйте название дисциплины, номер работы и варианта и свою фамилию. Установите для формы ограничения изменения размеров согласно варианту. Для этого используйте свойства MaxHeight, MaxWidth и MinHeight, MinWidth. Установите позицию показа формы по центру экрана.

4. Поместите на форму кнопку Button. Для кнопки поменяйте заголовок (свойство Caption) на «Проверка». Добавьте обработчик события нажатия кнопки мыши OnMouseDown. В обработчике задайте следующие условие, если нажата левая кнопка мыши, то вывести сообщение функцией ShowMessage(): «Нажата левая кнопка мыши». Аналогичные сообщения должны появиться и для нажатия правой и средней кнопок: «Нажата правая кнопка мыши», «Нажата средняя кнопка мыши». Для проверки условия проверяйте значение переменной Button типа TMouseButton.

5. Поместите на форму кнопку Button. Задайте для неё заголовок «Перемещение» (свойство Caption). Кнопку можно перетаскивать по форме в процессе выполнения программы. Для этого добавить обработчик перемещения курсора мыши для ButtonOnMouseMove. В обработчике задать изменения координат кнопки от перемещения (свойства Left и Top). При этом перемещение кнопки должно быть разрешено только при зажатой левой кнопки мыши. Для этого в обработчике OnMouseMove сделать проверку переменной Shift, которая должна содержать флаг ssLeft.

6. Поместите на форму кнопку Button, заголовок которой установите в «Таймер» (свойство Caption). Для кнопки должно выводиться сообщение о времени, в течение которого была зажата кнопка мыши над компонентом.

7. Поместите на форму компонент Memo из вкладки Standart визуальных компонентов. Установите для Memo вертикальную полосу прокрутки, установите положение Memo на форме в состояние в соответствии с вариантом. В редакторе компонента Memo очистите содержимое строк. Создайте обработчик для текстового поля Memo OnKeyDown, в котором нужно определять нажатие функциональных клавиш, используя виртуальные коды VK_F1VK_10. Для выбора нужной клавиши используйте конструкцию switchcase. Название нажатой функциональной клавиши выводите в специальную помещённую на форму метку Label из вкладки Standard, в свойство Caption. Например: " Нажата клавиша: F1".

8. Для Memo добавьте обработчик печати символа OnKeyPress, в котором требуется определить в каком регистре: верхнем или нижнем напечатан символ. Результат должен выводиться специальную помещённую на форму метку Label из вкладки Standard, в свойство Caption: «Символ напечатан в верхнем регистре» или «Символ напечатан в нижнем регистре». Для определения, в каком регистре напечатан символ используйте функции islower и isupper для латинских букв.

9. Для формы добавьте обработчик OnShortCut, в котором добавьте оператор закрытия формы (Form1-> Close();), если нажата клавиша Esc.

10. Поместите на форму компонент Statusbar из вкладки Win32 визуальных компонентов. Откройте редактор компонента и добавьте четыре панели (рисунок 1.6). Для нулевой и второй панелей задайте в инспекторе объекта свойство Text «Ширина формы» и «Высота формы» соответственно. Для отображения текста установите ширину панели 100 (свойство Width). Добавьте для формы обработчики создания формы OnCreate и изменения размеров формы OnResize. В которых должны выводится в строку состояния StatusBar1 размеры формы.

11. Для компонентов, помещённых на форму для которых доступен обработчик получения фокуса ввода OnEnter, задайте последовательность смены фокуса ввода при нажатии клавиши Tab. Для этого в строке состояния StatusBar добавьте ещё одну дополнительную панель, в которой будет указано какому компоненту принадлежит фокус ввода в данный момент.

12. Сохраните приложение и покажите преподавателю на проверку.

Контрольные вопросы

1. Когда возникают обытия OnMouseDown, OnMouseUp, OnClick, OnMouseMove в форме? Какие параметры имеются у этих событий?

2. Каким образом при возникновении события OnMouseDown можно определить, какая клавиша мыши нажата: правая или левая?

3. Когда возникает событие OnPaint в форме?

4. Что выполняется в процедуре обработки события OnPaint разработанного Вами приложения?

5. Когда возникает событие OnResize в форме?

6. Что выполняется в процедуре обработки события OnResize разработанного Вами приложения?

7. Как изменится рассмотренное приложение, если в процедуре FormResize() убрать вызов метода Refresh()? Как это можно объяснить?

8. Как изменится рассмотренное приложение, если в процедуре FormMouseDown() убрать вызов метода Refresh()? Как это можно объяснить?

9. Что произойдет, если в функции FormPaint() поместить вызов метода Refresh()? С чем это связано?

10. Когда возникают события OnKeyDown, OnKeyUp, OnKeyPress? Какие параметры имеются у этих событий?

11. В чем отличие событий OnKeyPress и OnKeyDown?


Практическая работа №13

Тема: «Использование ввода и отображения дат и времени в приложении».

Цель работы: Ознакомление с основными принципами использования в приложениях компонентов ввода и отображения дат и времени.

Время выполнения: подготовка – 5 мин; выполнение – 1205 мин.; проверка – 10 мин; всего – 135 мин.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал