Методы в Delphi (Общие для всех визуальных компонентов)
С визуальными компонентами, как и с другими объектами, связано большое количество методов, позволяющих создавать и удалять объекты, прорисовывать их, отображать и скрывать, а также выполнять другие операции. Рассмотрим методы, которые являются общими для всех визуальных компонентов.
Процедура SetFocus
Процедура setFocus устанавливает фокус ввода на оконный элемент управления. Если элемент управления в данный момент времени не способен получить фокус ввода, то возникает ошибка. Поэтому при вероятном возникновении ошибки целесообразно предварительно выполнить соответствующую проверку. Проверить возможность активизации компонента позволяет функция canFocus: Boolean, возвращающая значение True, если элемент управления может получить фокус ввода, и False— в противном случае.
Элемент управления не может получать фокус ввода, если он находится в выключенном состоянии, и его свойство Enabled имеет значение False.
Так, перед получением компонентом Edit1 фокуса ввода производится проверка возможности передачи ему фокуса:
- If Edit1.CanFocus then Edit1.SetFocus;
Метод Clear
Метод Clear служит для очистки содержимого компонентов, которые могут содержать текстовую информацию. Например:
- ListBox1.Clear;
- Memo1.Clear;
Метод Refresh
Метод Refresh используется для обновления элемента управления, состоящего в стирании имеющегося изображения элемента и его перерисовке. Обычно метод вызывается автоматически при необходимости перерисовки изображения. Принудительный вызов метода Refresh программным способом может понадобиться в случаях, когда программист сам управляет прорисовкой области визуального компонента, например, списка ListBox.
Метод Refresh автоматически вызывает методы Invalidate и upDate. Метод Invalidate сообщает Windows, что изображение требует перерисовки. При первой возможности система выполняет эту операцию. Метод UpDate вызывает немедленную перерисовку указанного объекта. При необходимости эти методы можно вызывать непосредственно в программе.
Метод Perform
Метод Perform предназначен для посылки сообщений оконным элементам управления. Использовать его удобнее, чем метод SendMessage, т. к. не нужно задавать параметр, содержащий ссылку на элемент управления. Функция Perform(Msg: Cardinal; WParam, LParam: Longint) : Longint посылает сообщение, текст которого задается параметром Msg. Параметры WParam и LParam содержат дополнительную информацию о сообщении.
Например:
- Label1.Caption := IntToStr(ListBox1.Perform(LB_GetCount, 0, 0));
Здесь списку ListBox1 посылается сообщение LB_GetCount, заставляющее его вернуть число элементов. Результат выводится в надписи Label1.