Как изменить шрифт строки заголовка в приложениях win на C #? - PullRequest
4 голосов
/ 05 марта 2012

как мне изменить шрифт строки заголовка формы в приложении Windows на C #?

Я нашел этот код, но он не работает и не рисует заголовок: как я могу это сделать?спасибо всем

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);

Ответы [ 2 ]

2 голосов
/ 05 марта 2012

В Vista и Windows 7 вам нужно отключить Aero, чтобы код работал.

Взгляните на ответ, который я дал на следующий вопрос Как добавить дополнительную кнопку в строку заголовка окна?

0 голосов
/ 05 марта 2012

Я не знаю, возможно ли это, поскольку вы можете редактировать только текст, но не разметку.

Я думаю, что он просто использует размер шрифта, который использует Windows ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...