Mastodon
Programmierung

Draw in Caption bar

Konstantin Knips wrote in message
371B12D9.7DCB8FDB@reze-1.rz.rwth-aachen.de

>…
>
>
>Neil White schrieb:
>
>> In realplayer there is an icon that is overlapping the title bar and the
>> menubar. and there is another button that aint normally there. Can i do
this
>> in Delphi 4?
>>
>> this is not the most helpfull description but thanx anyone who can help
me.
>
> I have heard of the possibility to do that in Delphi. It was about the
Handle
>of the Whole window, not the handle of only the client region. When you got
the
>right handle, you will be able to make low – level graphics operations also
in
>the titlebar of the Window. There is nothing more exact that I know.
>

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

[code lang=”delphi”]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;
[/code]

[tags]Delphi, Forms[/tags]

0 Kommentare zu “Draw in Caption bar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.