4

how i change title bar font of form in windows application by C# ?

i found this code but not working and doesn't drawing titlebar: how can i do this? thanks all

protected override void WndProc(ref Message msg)
{
    base.WndProc(ref msg);
    const int WM_NCPAINT = 0x85;

    if (msg.Msg == WM_NCPAINT)
    {
        this.Text = "";// remove the original title text

        IntPtr hdc = GetWindowDC(msg.HWnd);
        Graphics g = Graphics.FromHdc(hdc);
        Font ft = new Font("Arial", 16);

        g.DrawString("Hello World title", ft, Brushes.Red, new PointF(20.0f, 0.0f));

        ReleaseDC(msg.HWnd, hdc);
    }
}

[DllImport("User32.dll")]
private static extern IntPtr GetWindowDC(IntPtr hWnd);

[DllImport("User32.dll")]
private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
skaffman
  • 398,947
  • 96
  • 818
  • 769
Hajitsu
  • 764
  • 17
  • 49

2 Answers2

2

On Vista and Windows 7 you will need to disable Aero for the code to work.

Take a look at the answer I provided to the following question How to add an extra button to the window's title bar?

Community
  • 1
  • 1
Chris Taylor
  • 52,623
  • 10
  • 78
  • 89
0

I don't know if it is possible since you can only edit the text but not the markup.

I think it just uses the font-size that windows uses...

Tom Kerkhove
  • 2,151
  • 5
  • 26
  • 42