Solo comentar, si me lo permites, que se podria anadir al codigo anterior un
inherited:
Código Delphi
[-]
procedure TForm1.WMPaint(var Message: TWMPaint);
begin
inherited;
Canvas.Rectangle(Rect(10, 10, 100, 100));
end;
De todas formas el evento Onpaint del formulario cumple la misma funcion, sin necesidad de andar interceptando los mensajes. Pero es cuestion de gustos