![](/user_photo/2706_HbeT2.jpg)
- •X и y определяют координаты курсора мыши в клиентской области объекта Sender.
- •X и y определяют координаты курсора мыши в клиентской области объекта Sender.
- •Isupper(Key) – функция вернёт значение true, если переменная Key напечатана в верхнем регистре (латинские буквы).
- •Краткое содержание задания
Isupper(Key) – функция вернёт значение true, если переменная Key напечатана в верхнем регистре (латинские буквы).
Сохраните приложение и проверьте его на работоспособность. В специальной метке должен выводиться текст с информацией о нажатом символе.
Для формы добавьте обработчик OnShortCut, в котором добавьте оператор закрытия формы (Form1->Close();), если нажата клавиша Esc. Код клавиши Esc равен 27. Таким образом, нужно проверить, равна ли переменная Msg.CharCode 27.
Сохраните приложение и проверьте его на работоспособность. При нажатие на клавишу Esc приложение должно закрываться.
Поместите на форму компонент Statusbar из вкладки Win32 визуальных компонентов. Откройте редактор компонента и добавьте четыре панели (рисунок 1.6). Для нулевой и второй панелей задайте в инспекторе объекта свойство Text «Ширина формы» и «Высота формы» соответственно. Для отображения текста установите ширину панели 100 (свойство Width). Добавьте для формы обработчики создания формы OnCreate и изменения размеров формы OnResize. В которых должны выводится в строку состояния StatusBar1 размеры формы двумя операторами:
где:
Items[1]
и Items[3]
– ссылки на первую и третью панели
соответственно.
Form1->Width – ширина формы;
Form1->Height – высота формы.
Сохраните приложение и проверьте его на работоспособность. В строке состояния должны выводится размеры формы.
Для компонентов, помещённых на форму для которых доступен обработчик получения фокуса ввода OnEnter, задайте последовательность смены фокуса ввода при нажатии клавиши Tab. Для этого в строке состояния StatusBar добавьте ещё одну дополнительную панель, в которой будет указано какому компоненту принадлежит фокус ввода в данный момент. Например «Фокус ввода принадлежит текстовому полю Memo1». Для добавления текста в строку состояния используёте для каждого компонента обработчик OnEnter. Например, код для кнопки «Перемещение»:
Сохраните
приложение и проверьте его на
работоспособность. В строке состояния
должна выводиться информация о компоненте,
которому принадлежит фокус ввода в
данный момент.
Подготовьте отчёт лабораторной работы. Для отчёта требуется:
Титульный лист, с названием предмета, номера работы, ФИО студента, номер группы и ФИО преподавателя;
Листинг программы (Unit1.cpp).
Краткое содержание задания
-
Запустите C++ Builder 6.
-
Сохраните новый проект в отдельно созданной папке.
-
Присвойте основной форме заголовок, в качестве имени которого используйте название дисциплины, номер работы и варианта и свою фамилию. Установите для формы ограничения изменения размеров согласно варианту. Для этого используйте свойства MaxHeight, MaxWidth и MinHeight, MinWidth. Установите позицию показа формы по центру экрана.
-
Поместите на форму кнопку Button. Для кнопки поменяйте заголовок (свойство Caption) на «Проверка». Добавьте обработчик события нажатия кнопки мыши OnMouseDown. В обработчике задайте следующие условие, если нажата левая кнопка мыши, то вывести сообщение функцией ShowMessage(): «Нажата левая кнопка мыши». Аналогичные сообщения должны появиться и для нажатия правой и средней кнопок: «Нажата правая кнопка мыши», «Нажата средняя кнопка мыши». Для проверки условия проверяйте значение переменной Button типа TMouseButton.
-
Поместите на форму кнопку Button. Задайте для неё заголовок «Перемещение» (свойство Caption). Кнопку можно перетаскивать по форме в процессе выполнения программы. Для этого добавить обработчик перемещения курсора мыши для Button OnMouseMove. В обработчике задать изменения координат кнопки от перемещения (свойства Left и Top). При этом перемещение кнопки должно быть разрешено только при зажатой левой кнопки мыши. Для этого в обработчике OnMouseMove сделать проверку переменной Shift, которая должна содержать флаг ssLeft.
-
Поместите на форму кнопку Button, заголовок которой установите в «Таймер» (свойство Caption). Для кнопки должно выводиться сообщение о времени, в течение которого была зажата кнопка мыши над компонентом.
-
Поместите на форму компонент Memo из вкладки Standart визуальных компонентов. Установите для Memo вертикальную полосу прокрутки, установите положение Memo на форме в состояние в соответствии с вариантом. В редакторе компонента Memo очистите содержимое строк. Создайте обработчик для текстового поля Memo OnKeyDown, в котором нужно определять нажатие функциональных клавиш, используя виртуальные коды VK_F1…VK_10. Для выбора нужной клавиши используйте конструкцию switch case. Название нажатой функциональной клавиши выводите в специальную помещённую на форму метку Label из вкладки Standard, в свойство Caption. Например: "Нажата клавиша: F1".
-
Для Memo добавьте обработчик печати символа OnKeyPress, в котором требуется определить в каком регистре: верхнем или нижнем напечатан символ. Результат должен выводиться специальную помещённую на форму метку Label из вкладки Standard, в свойство Caption: «Символ напечатан в верхнем регистре» или «Символ напечатан в нижнем регистре». Для определения, в каком регистре напечатан символ используйте функции islower и isupper для латинских букв.
-
Для формы добавьте обработчик OnShortCut, в котором добавьте оператор закрытия формы (Form1->Close();), если нажата клавиша Esc.
-
Поместите на форму компонент Statusbar из вкладки Win32 визуальных компонентов. Откройте редактор компонента и добавьте четыре панели (рисунок 1.6). Для нулевой и второй панелей задайте в инспекторе объекта свойство Text «Ширина формы» и «Высота формы» соответственно. Для отображения текста установите ширину панели 100 (свойство Width). Добавьте для формы обработчики создания формы OnCreate и изменения размеров формы OnResize. В которых должны выводится в строку состояния StatusBar1 размеры формы.
-
Для компонентов, помещённых на форму для которых доступен обработчик получения фокуса ввода OnEnter, задайте последовательность смены фокуса ввода при нажатии клавиши Tab. Для этого в строке состояния StatusBar добавьте ещё одну дополнительную панель, в которой будет указано какому компоненту принадлежит фокус ввода в данный момент.
-
Сохраните приложение и покажите преподавателю на проверку.