воскресенье, 22 декабря 2013 г.

3. Свойства и методы формы. Лабораторные Delphi (1)

Основные свойства формы в Delphi

Запустите на выполнение Delphi XE3. Создайте новый проект, выбрав в меню File | New | VCL Forms Application - Delphi. Появится форма нового проекта. Щелкните мышью по новой пустой форме.
Запустите на выполнение пустую форму, щелкнув по кнопке  или нажав клавиши Shift+Ctrl+F9. На экране появится пустая форма, содержащая только заголовочную строку. Закройте форму, щелкнув мышью по кнопке закрытия в заголовке формы щелкнув правой кнопкой мыши по заголовку формы и выбрав в появившемся контекстном меню строку Закрыть или нажав клавиши Alt+F4.
В окне Object Inspector отображаются свойства и события формы.
















Положите на форму с вкладки Standard палитры инструментов Tool Palette компонент ввода текста Edit и кнопку Button. Кнопке задайте надпись (свойство Caption) Заголовок. Форма примет следующий вид:







Дважды щелкните мышью по кнопке Заголовок или, выделив мышью эту кнопку, перейдите в окне Object Inspector на вкладку Events (события) и дважды щелкните мышью справа от события OnClick (событие, возникающее при щелчке пользователем мышью по кнопке). Откроется вкладка редактирования текста Unit1 и появится заготовка для обработчика события щелчка по кнопке:
procedure TForm1.Button1Click(Sender: TObject);
begin

end;
Введите оператор, помещающий в заголовок формы текст, набранный пользователем в поле ввода Edit:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Self.Caption := Edit1.Text;
end;
Ключевое слово Self, означающее, что свойство относится к текущей форме, можно опустить.
Запустите программу на выполнение. Введите произвольный текст в Edit1. Щелкните по кнопке Заголовок. В заголовке формы появится набранный вами текст.
Форму можно закрыть, выбрав в системном меню формы вариант Закрыть, нажав клавиши Alt+F4, щелкнув мышью по кнопке закрытия  в заголовке формы. Можно также закрыть форму программным способом, используя метод формы Close().
Положите на форму еще одну кнопку TButton. Присвойте кнопке текст Закрыть.







Для этой кнопки напишите обработчик события щелчка мышью, при котором происходит закрытие формы и завершение работы программы.
procedure TForm1.Button2Click(Sender: TObject);
begin
  Close();
end;
Запустите программу на выполнение, убедитесь, что при щелчке по кнопке Закрыть происходит завершение работы программы.
Поскольку закрывается главная (в данном случае единственная) форма программы, происходит завершение работы всего приложения. Чтобы выполнить завершение работы программы из любой формы, нужно вызвать метод Terminate() объекта Application:
Application.Terminate();
Свойство Icon позволяет задать для формы конкретную пиктограмму, помещаемую в левый верхний угол заголовка формы. Если это свойство не задано, то у формы присутствует иконка по умолчанию.
Выделите в свойствах формы строку Icon, щелкните мышью справа от значения этого свойства по кнопке Появится окно изменения изображения:









Щелкните по кнопке Load. Появится диалоговое окно открытия файла. Откройте на компьютере подходящий файл с расширением ico.
Щелкните по кнопке OK. Иконка будет помещена в заголовок формы.
Чтобы удалить из формы заданную иконку и вернуть иконку по умолчанию, нужно справа от свойства формы Icon выделить мышью сам текст (Icon) и нажать клавишу Del (удалить). Для удаления иконки можно также вызвать окно изменения изображения (рис. 4) и щелкнуть в нем по кнопке Clear (очистить).
Свойство WindowState задает вид формы при ее первоначальном запуске:
·        wsNormal — форма отображается в том виде, в котором она создавалась на этапе проектирования (значение по умолчанию).
·        wsMinimized — форма отображается в минимизированном виде на панели задач операционной системы.
·        wsMaximized — форма при запуске разворачивается на всю поверхность экрана.
Задайте различные значения для свойства WindowState, запустите приложение на выполнение, посмотрите на полученные результаты.
Верните свойству WindowState значение wsNormal.
Поэкспериментируйте со свойством BorderStyle.
·        Из выпадающего списка выберите значение bsNone. У формы пропадет заголовок и рамка. Запустите программу на выполнение. Завершить работу программы можно, щелкнув по кнопке Закрыть или вызвав Диспетчер задач и выбрав во вкладке Приложения вариант Снять задачу.
·        Выберите из списка bsSingle. Форма будет иметь размеры, которые нельзя изменить мышью.
·        Выберите bsDialog. Форма будет также фиксированных размеров. У нее только пропадет системное меню, кнопки минимизации и максимизации.
·        В случае значения по умолчанию bsSizable форма будет иметь обычное оформление, будет изменяемой.
·        Выберите bsToolWindow. Форма будет иметь фиксированные размеры, из заголовка пропадут системное меню, кнопки минимизации и максимизации. Останется только кнопка закрытия. Сам заголовок будет уменьшенной высоты.
·        В случае bsSizeToolWin форма будет иметь тот же вид, что и при задании bsToolWindow, только ее размеры можно менять мышью.
Значение свойства BorderStyle можно изменять не только при проектировании формы, но и в процессе выполнения программы. Например, чтобы установить для формы значение этого свойства в bsSingle, нужно выполнить оператор:
Self.BorderStyle := bsSingle;
Внесите в проект следующие изменения.
Положите на форму метку Label, установив значение свойства Caption в BorderStyle.
Положите на форму компонент ComboBox. Он позволяет создавать выпадающий список, из которого пользователь во время выполнения программы может выбрать конкретный элемент. Для свойства Style этого компонента из выпадающего списка выберите значение csDropDownList. Щелкните по кнопке  справа от свойства Items. В появившемся окне введите следующие значения для свойства BorderStyle и щелкните по кнопке OK.











Форма примет следующий вид.










Выделите мышью форму, перейдите на вкладку событий (Events). Найдите событие OnActivate. Оно возникает, когда происходит активация формы. По строке справа от названия этого события дважды щелкните мышью. Напишите следующий обработчик события:
procedure TForm1.FormActivate(Sender: TObject);
begin
  ComboBox1.ItemIndex := 2;
end;
Здесь устанавливается номер выбранной строки в списке ComboBox, то есть значение bsSizable. Элементы списка нумеруются, начиная с нуля. В результате при запуске приложения на выполнение форма будет иметь следующий вид.








Теперь нужно написать следующий обработчик события OnChange (при изменении) для компонента ComboBox. Это событие возникает каждый раз, когда пользователь изменяет текущее значение элемента в списке. Выделите мышью на форме этот компонент и дважды щелкните напротив события OnChange. Появится заготовка обработчика этого события, где следует ввести операторы:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  case (ComboBox1.ItemIndex) of
    0: Self.BorderStyle := bsNone;
    1: Self.BorderStyle := bsSingle;
    2: Self.BorderStyle := bsSizeable;
    3: Self.BorderStyle := bsDialog;
    4: Self.BorderStyle := bsToolWindow;
    5: Self.BorderStyle := bsSizeToolWin;
  end;
end;
Здесь используется оператор case, позволяющий выбрать одно значение из списка значений. В результате анализа выбора пользователем элемента из списка свойству формы BorderStyle присваивается соответствующее значение, и форма тут же примет новый вид.
Запустите программу на выполнение. Устанавливайте различные значения для этого свойства.

Комментариев нет:

Отправить комментарий