Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба2.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.62 Mб
Скачать

Динамическое изменение свойств компонента

    Поскольку кнопка Button1 в нашей программе способна “звучать”, полезно изменить ее надпись: вместо умалчиваемой надписи Button1, которую автоматически формирует Delphi по имени компонента, назовем кнопку, например, “Звук”. Проще всего это сделать с помощью окна формы и Инспектора объектов, т. е. на этапе конструирования формы (для этого нужно просто изменить свойство Caption компонента Button1 в окне Инспектора объектов), но для более полного знакомства с Delphi мы рассмотрим другой способ - динамического (К сожалению, эта процедура работает не всегда: если ваш компьютер не оснащен звуковой картой, динамик будет молчать. В этом случае вместо MessageBeep (MB_OK) напишите просто Веер. Изменения на этапе конструирования называются статическими, а в ходе выполнения программы - динамическими.) изменения надписи на этапе прогона программы. Для этого создадим обработчик события OnCreate для формы и изменим в нем это свойство.

    Событие OnCreate возникает после создания Windows-окна, но до появления этого окна на экране. Чтобы создать обработчик этого события, раскройте список компонентов в верхней части окна Инспектора объектов, выберите компонент Form1 и дважды щелкните по свойству OnCreate на странице Events этого компонента (щелкать нужно по правой части строки OnCreate). В ответ Delphi вновь активизирует окно кода и покажет вам заготовку для процедурыTForm1.FormCreate. Отредактируйте ее следующим образом:

procedure TForm1.FormCreate(Sender: TObject);

begin

Button1.Caption:= 'Звук';

end;

    Единственная вставленная нами строка представляет собой так называемый оператор присваивания языка Object Pascal. В левой части оператора указывается свойство Button1.Caption, а в правой части - значение 'Звук', которое мы хотим придать этому свойству. Связывает обе части комбинация символов “:=”, которая читается как “присвоить значение”. Символы “:=” всегда пишутся слитно, без разделяющих пробелов, хотя перед двоеточием и после знака равенства можно для лучшей читаемости программы вставлять пробелы, что мы и сделали. Как и любое другое предложение языка, оператор присваивания завершается точкой с запятой.

    Составное имя Button1.Caption необходимо для точного указания компилятору, о каком свойстве идет речь: в нашей программе используются три компонента (включая саму форму), каждый из которых имеет свойство Caption; уточняющий префикс Button1 заставит изменить это свойство у кнопки, а не у метки или формы. Присваиваемое свойству значение является текстовой строкой. По правилам Object Pascal текстовая строка должна заключаться в обрамляющие апострофы. Внутри апострофов можно написать любое количество произвольных символов - именно они (без обрамляющих апострофов) будут определять новую надпись на кнопке.

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

    К оглавлению