Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Задать цвет фона для MDI-формы

Delphi , Программа и Интерфейс , MDI приложения

Задать цвет фона для MDI-формы

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{******************************************************************************* 
 * 
 *  Hintergrundfarbe eines MDI-Formulars setzen ohne die Farbe der darauf 
 *  liegenden Objekte wie TGroupBox oder TPageControl zu verandern. 
 * 
 *  Setting the Background color of a MDI Form without changing the color 
 *  of overlayed objects like TGroupBox or TPageControl. 
 * 
 ******************************************************************************}

 unit Unit1;

 interface

 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs;

 type
   TForm1 = class(TForm)
   private
     FClientInstance: TFarProc;
     FPrevClientProc: TFarProc;
     BkBrush: HBRUSH;
     procedure ClientWndProc(var Message: TMessage);
   public
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
   end;

 implementation

 {$R *.dfm}

 constructor TForm1.Create(AOwner: TComponent);
 begin
   inherited;
   BkBrush := CreateSolidBrush(clGray);
   FClientInstance := Classes.MakeObjectInstance(ClientWndProc);
   FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
   SetWindowLong(ClientHandle, GWL_WNDPROC, Longint(FClientInstance));
 end;

 destructor TForm1.Destroy;
 begin
   DeleteObject(BkBrush);
   inherited;
 end;

 procedure TForm1.ClientWndProc(var Message: TMessage);
 var
   DC: HDC;
   BrushOld: HBRUSH;
 begin
   with Message do
    begin
     case Msg of
       WM_ERASEBKGND:
         begin
           DC := TWMEraseBkGnd(Message).DC;
           BrushOld := SelectObject(DC, BkBrush);
           FillRect(DC, ClientRect, BkBrush);
           SelectObject(DC, BrushOld);
           Result := 1;
         end;
       else
         Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam, lParam);
     end;
   end;
 end;

 end.

Статья Задать цвет фона для MDI-формы раздела Программа и Интерфейс MDI приложения может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: MDI приложения ::


реклама

::


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
27.02.2020 05:29:08/0.40492510795593/0