На столе компьютер. Двое набирают лабораторную. Один копается в справочниках, второй в "Ворде" набирает диктуемое. Проходит час. Один:
- Может пива?
- Без базара.
Ушли. Во время пива договорились поменяться ролями. Возвращаются. Тот, что сидел за компом, обкладывается справочниками, второй садится за компьютер. Первый:
- На чем мы там остановились? Прочитай...
- Читай сам, я твои каракули не разбираю.
Font является защищенным свойством, введенным в классе TControl иерархии
компонентов. Вы можете получить доступ к свойству Font только после того, как вы
создадите элемент управления (класс) с опубликованным свойством Font. Есть одна
хитрость, позволяющая обойти это и иметь доступ к свойству Font любого потомка
TControl, но будьте осторожны с этим, так как может случиться любая
неприятность, если вы изменяете свойство Font класса, который не хочет, чтобы ее
изменяли.
Хитрость заключается в создании в вашей секции implementation следующего
описания класса:
type
THack = class(TControl)
publicproperty Font;
end;
затем ваш код может выглядеть приблизительно так:
if Popup1.PopupControl is TControl thenif FontDialog1.Execute then
THack(Popup1.PopupControl).Font := FontDialog1.Font;
В статье рассматривается способ доступа к свойству Font любого потомка класса TControl, обойдя ограничение на изменение этого свойства до создания элемента управления с опубликованным свойством Font.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS