На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Пользовательский интерфейс / Можно ли рисовать на рамке формы? Сделать домашней страницей Добавить в избранное Написать писмо

Можно ли рисовать на рамке формы?


Обрабатывайте событие WM_NCPAINT. В примере рамка обводится красной линией
толщиной в 1 пиксел.

Пример:

type
   TForm1 = class(TForm)
   private
   {Private declarations}
       procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
   public
   {Public declarations}
end;

var
   Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
var
   dc : hDc;
   Pen : hPen;
   OldPen : hPen;
   OldBrush : hBrush;
begin
   inherited;
   dc := GetWindowDC(Handle);
   msg.Result := 1;
   Pen := CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
   OldPen := SelectObject(dc, Pen);
   OldBrush := SelectObject(dc, GetStockObject(NULL_BRUSH));
   Rectangle(dc, 0,0, Form1.Width, Form1.Height);
   SelectObject(dc, OldBrush);
   SelectObject(dc, OldPen);
   DeleteObject(Pen);
   ReleaseDC(Handle, Canvas.Handle);
end;


Источник: Дельфи. Вокруг да около.


Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz