Examples Delphi

HereI are the steps to add a wallpaper to the client area of of a
MDI parent form:
1) Create a new project
2) Set the form's FormStyle to fsMDIForm
3) Drop an image on the form and select a bitmap into it.
4) Find the { Private Declarations } comment in the form's
definition and add these lines right after it:
FClientInstance,
FPrevClientProc : TFarProc;
PROCEDURE ClientWndProc(VAR Message: TMessage);
5) Find the "implementation" line and the {$R *.DFM} line that
follows it. After that line, enter this code:
PROCEDURE TForm1.ClientWndProc(VAR Message: TMessage);
VAR
MyDC : hDC;
Ro, Co : Word;
begin
with Message do
case Msg of
WM_ERASEBKGND:
begin
MyDC := TWMEraseBkGnd(Message).DC;
FOR Ro := 0 TO ClientHeight DIV Image1.Picture.Height DO
FOR Co := 0 TO ClientWIDTH DIV Image1.Picture.Width DO
BitBlt(MyDC, Co*Image1.Picture.Width, Ro*Image1.Picture.Height,
Image1.Picture.Width, Image1.Picture.Height,
Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY);
Result := 1;
end;
else
Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam, lParam);
end;
end;
6) Start an OnCreate method for the form and put these lines in it:
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
7) Add a new form to your project and set its FormStyle to
fsMDIChild.
Now you have a working MDI project with "wallpaper". The image
component is not visible, but its bitmap is replicated to cover
the MDI form's client area.
There is still one problem; when you minimize the child window its
icon will be drawn against a gray rectangle.