Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

NotifyControls

621
24 апреля 2005 года
Бешеный кролик
151 / / 23.03.2004
Всем привет!
Почему такой код не хочет компилироваться?
Говорит, что метод NotifyControls not accessible?
Что делать?

TWinControl *p;
p=this->Parent;
while (!p->InheritsFrom(__classid(TForm)))
{
p->NotifyControls(WM_DES);
p=p->Parent;
}
621
24 апреля 2005 года
Бешеный кролик
151 / / 23.03.2004
Что делать я понял - использовать Broadcast.
А вот почему в классе TWinControl недоступен метод
TNotifyControls остается для меня загадкой. Объясните на будущее.
10
24 апреля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Бешеный кролик
TNotifyControls остается для меня загадкой. Объясните на будущее.


Учи матчать. Метод NotifyControls описан в секции protected, следовательно, может вызываться только в потомках, но никак не извне. Если все-таки потребуется вызывать его извне, надо создать собственный hack-класс:

 
Код:
type
  _WinControl = class(TWinControl)
  public
    procedure _NotifyControls(Msg: Word);
  end;

procedure _WinControl._NotifyControls(Msg: Word);
begin
  NotifyControls(Msg);
end;
621
24 апреля 2005 года
Бешеный кролик
151 / / 23.03.2004
Цитата:
Originally posted by Freeman
Учи матчать. Метод NotifyControls описан в секции protected, следовательно, может вызываться только в потомках, но никак не извне. Если все-таки потребуется вызывать его извне, надо создать собственный hack-класс:
 
Код:
type
  _WinControl = class(TWinControl)
  public
    procedure _NotifyControls(Msg: Word);
  end;

procedure _WinControl._NotifyControls(Msg: Word);
begin
  NotifyControls(Msg);
end;



Aга, спасибо, понял. А как ты узнал, что он protected? В хелпе же это не сказано. Неужели исходник смотрел?

10
24 апреля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Бешеный кролик
Неужели исходник смотрел?


Разумеется. Есть варианты?

621
24 апреля 2005 года
Бешеный кролик
151 / / 23.03.2004
Цитата:
Originally posted by Freeman
Разумеется. Есть варианты?



OK. thnx a lot.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог