скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Рисовать на заголовочной полосе формы



Оформил: DeeCo

{ 
 You have to handle the WM_NCPAINT message. 
 Something like this (for custom text) Should be similar for bitmaps. 
}

 type
   TForm1 = class(TForm)
   private
     procedure WMNCPaint(var Msg: TWMNCPaint); message WM_NCPAINT;
   public
   end;

 var
   Form1: TForm1;

 implementation

 {$r *.dfm}

 procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
 var
   ACanvas: TCanvas;
 begin
   inherited;
   ACanvas := TCanvas.Create;
   try
     ACanvas.Handle := GetWindowDC(Form1.Handle);
     with ACanvas do
      begin
       Brush.Color := clActiveCaption;
       Font.Name := 'Tahoma';
       Font.Size := 8;
       Font.Color := clred;
       Font.Style := [fsItalic, fsBold];
       TextOut(GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CXBORDER),
         Round((GetSystemMetrics(SM_CYCAPTION) - Abs(Font.Height)) / 2) + 1, ' Some Text');
     end;
   finally
     ReleaseDC(Form1.Handle, ACanvas.Handle);
     ACanvas.Free;
   end;
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook