Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay