- •Пустая форма и ее модификация
- •Настройка Delphi
- •Имена в Delphi
- •Изменение свойств формы
- •Размещение нового компонента
- •Реакция на события
- •Модификация формы
- •Обработчик события OnClick
- •Динамическое изменение свойств компонента
- •Некоторые итоги
- •Событие OnActivate
- •Событие OnClose
- •Событие OnCloseQuery
- •Событие OnCreate
- •Событие OnDestroy
- •Событие OnHide
- •Событие OnPaint
- •Событие OnResize
- •Событие OnShow
- •Свойства класса tComponent
- •Методы класса tComponent
- •Свойства класса tControl
- •Методы класса tControl
- •События класса tControl
- •Свойства класса tWinControl
- •Методы класса tWinControl
- •События класса tWinControl
- •Свойства класса tApplication
- •Методы класса tApplication
- •События класса tApplication и их обработка
- •Свойства класса tStrings
- •Методы класса tStrings
- •Размещение фрейма на палитре компонентов
Динамическое изменение свойств компонента
Поскольку кнопка 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 текстовая строка должна заключаться в обрамляющие апострофы. Внутри апострофов можно написать любое количество произвольных символов - именно они (без обрамляющих апострофов) будут определять новую надпись на кнопке.
После очередного прогона программы вы увидите измененную надпись на кнопке, а мы сделаем важный вывод: любое свойство любого компонента можно изменять динамически, т.е. в ходе исполнения программы.
К оглавлению
