Кент Рейсдорф. BORLAND C++BUILDER. Раздел 3
Кент Рейсдорф. BORLAND C++BUILDER. Страница 263
1. Щелкните на вкладке SPMain.cpp и прокрутите этот файл до конца.
2. Введите следующий код: >
void fastcall TScratchPad::OnHint(TObject* Sender)
{
StatusBar->SimpleText = Application->Hint;
}
3. Перейдите в инспектор объектов. Выберите главную форму, Scratchpad, в селекторе объектов.
4. Переключитесь на страницу Events в окне инспектора объектов и дважды щелкните в столбце Value рядом с событием OnCreate. Появится окно редактора кода и вы сможете ввести текст обработчика события.
5. Введите следующую строку, начиная с позиции курсора:
Application->OnHint = SOnHint;
Функция FormCreateQ должна теперь выглядеть следующим образом:
void fastcall TScratchPad::FormCreate(TObject *Sender)
{
Application->OnHint = SOnHint;
}
6. Откомпилируйте и запустите программу. Полный текст подсказки теперь будет отображаться в строке состояния, а короткая подсказка будет выводиться во всплывающем окне рядом с кнопкой.
В шаге 2 мы взяли текст подсказки из свойства Hint объекта Application и присвоили это значение свойству SimpleText класса StatusBar. В шаге 5 мы присвоили адрес созданной функции событию OnHint класса Application. Теперь при каждом возникновении события OnHint будет вызываться ваша функция OnHintQ, и текст подсказки будет выводиться в строке состояния.
Добавление членов-данных класса
Добавление членов-данных в классы, сгенерированные C++Builder, выполняется аналогично добавлению функций. Члены-данные, как и функции- члены, должны добавляться только в разделы public или private.
Удаление кода, созданного C++Buider
Может случиться так, что вам нужно будет удалить код, созданный C++Builder. Например, вам может потребоваться удалить кнопку на форме, которая больше не нужна — ваша программа изменилась. Чтобы удалить кнопку, достаточно щелкнуть на ней и нажать на клавишу Delete. И кнопки как не бывало. C++Builder удалит кнопку, но обработчик события OnClick, связанный с этой кнопкой, останется в тексте программы. C++Builder, конечно, знает, что соответствующая кнопка удалена, но он не удаляет этот обработчик события, потому что его могут использовать другие компоненты. Только вы можете решить, удалять обработчик события или нет.