procedure TForm1.WMPaint (var Msg: TWMPaint);
begin
MessageBeep(0);
inherited;
end;
Ловля сообщений Windows
При обработке сообщений Windows в Delphi была такая штука как inherited; ... т.е. мы ловим событие WM_PAINT например, в конце обработчика inherited; и все красиво рисуется... вопрос.. как такое реализовать в билдере? inherited тут не работает...:(
Цитата:
Originally posted by Sergun
При обработке сообщений Windows в Delphi была такая штука как inherited; ... т.е. мы ловим событие WM_PAINT например, в конце обработчика inherited; и все красиво рисуется... вопрос.. как такое реализовать в билдере? inherited тут не работает...:(
При обработке сообщений Windows в Delphi была такая штука как inherited; ... т.е. мы ловим событие WM_PAINT например, в конце обработчика inherited; и все красиво рисуется... вопрос.. как такое реализовать в билдере? inherited тут не работает...:(
Если есть TMyForm: public TForm(){};
То можно накропать TForm::OnPaint(TObject *Sender){ /* бла-бла-бла */ TForm::OnPaint(Sender); }
К сожалению, более изящно, афаик, не получится.
Цитата:
Originally posted by Plisteron
Если есть TMyForm: public TForm(){};
То можно накропать TForm::OnPaint(TObject *Sender){ /* бла-бла-бла */ TForm::OnPaint(Sender); }
К сожалению, более изящно, афаик, не получится.
Если есть TMyForm: public TForm(){};
То можно накропать TForm::OnPaint(TObject *Sender){ /* бла-бла-бла */ TForm::OnPaint(Sender); }
К сожалению, более изящно, афаик, не получится.
а как же inherited в Delphi..? неужели в этом отношении делфях все более грамотно продумано?X)-
Цитата:
...вам надо всего лишь не забыть вызват обработчик предка. Это выглядит примерно так: сперва вы делаете в обработчике то, что хотите вы, а затем с помощью вызова inherited - то, что хочет Windows.
2 примера:
Код:
и
Код:
procedure TForm1.WMPaint (var Msg: TWMPaint);
begin
MessageBeep(0);
end;
begin
MessageBeep(0);
end;
... во втором случае форма перерисовываться не будетP(
Нужно всего лишь отловить стандартное ссобщение Windows и вернуть управление обработчку родителя и все.. стандартная операция, неужели никто этим не занимался?:{
Цитата:
Originally posted by Sergun
Нужно всего лишь отловить стандартное ссобщение Windows и вернуть управление обработчку родителя и все.. стандартная операция, неужели никто этим не занимался?:{
Нужно всего лишь отловить стандартное ссобщение Windows и вернуть управление обработчку родителя и все.. стандартная операция, неужели никто этим не занимался?:{
TForm::Dispatch(&Msg)
Цитата:
Originally posted by xTrim
TForm::Dispatch(&Msg)
TForm::Dispatch(&Msg)
спасибо ура помогло:)