Содержание материала

 

Сначала установите свойство формы FormStyle в fsMDIForm. Затем разместите Image на форме и загрузите в него картинку. Найдите { Private Declarations } в обьявлении формы и добаьте следующие строки:

 

Code:

FClientInstance: TFarProc;

FPrevClientProc: TFarProc;

procedure ClientWndProc(var message: TMessage);

 

Добавьте следующие строки в разделе implementation:

 

Code:

procedure TMainForm.ClientWndProc(var message: TMessage);

var

Dc: hDC;

Row: Integer;

Col: Integer;

begin

with message do

   case Msg of

     WM_ERASEBKGND:

     begin

       Dc := TWMEraseBkGnd(message).Dc;

       for Row := 0 to ClientHeight div Image1.Picture.Height do

         for Col := 0 to ClientWidth div Image1.Picture.Width do

           BitBlt(Dc, Col * Image1.Picture.Width, Row *

           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;

 

По созданию окна [событие OnCreate()] напишите такой код:

Code:

FClientInstance := MakeObjectInstance(ClientWndProc);

FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));

SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));

 

Добавьте к проекту новую форму и установите ее свойство FormStyle в fsMDIChild

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить