скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

PopupComponent и шрифты



Автор: Pat Ritchey

На столе компьютер. Двое набирают лабораторную. Один копается в справочниках, второй в "Ворде" набирает диктуемое. Проходит час. Один:
- Может пива?
- Без базара.
Ушли. Во время пива договорились поменяться ролями. Возвращаются. Тот, что сидел за компом, обкладывается справочниками, второй садится за компьютер. Первый:
- На чем мы там остановились? Прочитай...
- Читай сам, я твои каракули не разбираю.

Font является защищенным свойством, введенным в классе TControl иерархии компонентов. Вы можете получить доступ к свойству Font только после того, как вы создадите элемент управления (класс) с опубликованным свойством Font. Есть одна хитрость, позволяющая обойти это и иметь доступ к свойству Font любого потомка TControl, но будьте осторожны с этим, так как может случиться любая неприятность, если вы изменяете свойство Font класса, который не хочет, чтобы ее изменяли.

Хитрость заключается в создании в вашей секции implementation следующего описания класса:


type
  THack = class(TControl)
    public
      property Font;
  end;

затем ваш код может выглядеть приблизительно так:


if Popup1.PopupControl is TControl then
  if FontDialog1.Execute then
    THack(Popup1.PopupControl).Font := FontDialog1.Font;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook