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

Ваш аккаунт

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

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

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

Ловля сообщений Windows

323
03 августа 2004 года
Sergun
228 / / 20.09.2000
При обработке сообщений Windows в Delphi была такая штука как inherited; ... т.е. мы ловим событие WM_PAINT например, в конце обработчика inherited; и все красиво рисуется... вопрос.. как такое реализовать в билдере? inherited тут не работает...:(
294
04 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Sergun
При обработке сообщений Windows в Delphi была такая штука как inherited; ... т.е. мы ловим событие WM_PAINT например, в конце обработчика inherited; и все красиво рисуется... вопрос.. как такое реализовать в билдере? inherited тут не работает...:(


Если есть TMyForm: public TForm(){};
То можно накропать TForm::OnPaint(TObject *Sender){ /* бла-бла-бла */ TForm::OnPaint(Sender); }
К сожалению, более изящно, афаик, не получится.

323
04 августа 2004 года
Sergun
228 / / 20.09.2000
Цитата:
Originally posted by Plisteron

Если есть TMyForm: public TForm(){};
То можно накропать TForm::OnPaint(TObject *Sender){ /* бла-бла-бла */ TForm::OnPaint(Sender); }
К сожалению, более изящно, афаик, не получится.



а как же inherited в Delphi..? неужели в этом отношении делфях все более грамотно продумано?X)-

323
04 августа 2004 года
Sergun
228 / / 20.09.2000
Цитата из документации по Delphi.

Цитата:
...вам надо всего лишь не забыть вызват обработчик предка. Это выглядит примерно так: сперва вы делаете в обработчике то, что хотите вы, а затем с помощью вызова inherited - то, что хочет Windows.


2 примера:

 
Код:
procedure TForm1.WMPaint (var Msg: TWMPaint);
begin
 MessageBeep(0);
 inherited;
end;


и

 
Код:
procedure TForm1.WMPaint (var Msg: TWMPaint);
begin
 MessageBeep(0);
end;


... во втором случае форма перерисовываться не будетP(
323
04 августа 2004 года
Sergun
228 / / 20.09.2000
Нужно всего лишь отловить стандартное ссобщение Windows и вернуть управление обработчку родителя и все.. стандартная операция, неужели никто этим не занимался?:{
6.3K
04 августа 2004 года
xTrim
38 / / 11.06.2004
Цитата:
Originally posted by Sergun
Нужно всего лишь отловить стандартное ссобщение Windows и вернуть управление обработчку родителя и все.. стандартная операция, неужели никто этим не занимался?:{



TForm::Dispatch(&Msg)

323
04 августа 2004 года
Sergun
228 / / 20.09.2000
Цитата:
Originally posted by xTrim
TForm::Dispatch(&Msg)



спасибо ура помогло:)

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