Кент Рейсдорф. BORLAND C++BUILDER. Раздел 2
Кент Рейсдорф. BORLAND C++BUILDER. Страница 208
Свойство Name имеет для компонентов жизненно важное значение. Как упоминалось ранее, при помещении компонента в форму С+-l-Builder переходит в фоновый режим, пока вы обдумываете свое следующее действие. Все, что C++Builder делает при этом — создает указатель на компонент и использует свойство Name в качестве имени переменной. Предположим, например, что вы поместили компонент Edit в форму и изменили его свойство Name на MyEdit. В этом случае С-f+Builder поместит следующую строку в заголовочный файл формы:
TEdit* MyEdit;
После запуска приложения C++Builder создаст экземпляр класса TEdit, на который будет ссылаться указатель MyEdit. Вы можете использовать этот указатель для обращения к компоненту во время выполнения программы. Чтобы ввести текст в элемент редактирования, вам нужно сделать следующее:
MyEdit->Text = "Jenna Lynn";
C++Builder использует значение свойства Name также для образования имен обработчиков событий. Допустим, вы хотите обрабатывать событие OnChange компонента Edit. Обычно вы дважды щелкаете в столбце Value рядом с событием OnChange, чтобы C++Builder сгенерировал обработчик события. C++Builder будет использовать для этой функции имя по умолчанию, основанное на значении свойства Name и имени обрабатываемого события. В нашем случае C++Builder создаст функцию с именем MyEditChange().
Вы можете изменять свойство Name в любое время, но только при условии, что вы делаете это через инспектор объектов. Когда при разработке программы вы изменяете свойство Name некоторого компонента, C++Builder просматривает весь код, который он до этого создал, и изменяет имя указателя и имена всех функций-обработчиков событий.
Если в этом же примере вы измените свойство Name элемента редактирования со значения MyEdit на FirstName, то C++Builder даст указателю имя FirstName, а обработчик события OnChange получит имя FirstNameChange(). Все это будет выполнено автоматически; вам нужно только изменить свойство Name и положиться в остальном на C++Builder.