Добавьте следующие строки в разделе implementation:
procedure TMainForm.ClientWndProc(varmessage: TMessage);
var
Dc: hDC;
Row: Integer;
Col: Integer;
beginwithmessagedocase Msg of
WM_ERASEBKGND:
begin
Dc := TWMEraseBkGnd(message).Dc;
for Row := 0 to ClientHeight div Image1.Picture.Height dofor 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()] напишите такой код:
Добавьте к проекту новую форму и установите ее свойство FormStyle в fsMDIChild
Создание родительского окна с фоновым рисунком в клиентской области требует настройки формы, добавления изображения, изменений private declarations и implementation, а также изменения кода при создании окна.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.