Aby mieć możliwość rysowania po powierzchni paska tytułowego, musimy utworzyć nowy obiekt TCanvas, a następnie przypisać mu uchwyt naszego formularza.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
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, ' Taki tam tekst'); end; finally ReleaseDC(Form1.Handle, ACanvas.Handle); ACanvas.Free; end; end; |
Autor: Nakiel