Как рисовать на заголовке формы windows без перезаписи в windows 10?
Я пытаюсь нарисовать изображение на подписи, обрабатывая сообщение WM_NCPAINT. Но вскоре изображение перезаписывается. Какие еще сообщения мне нужно обработать, если мне нужно убедиться, что изображение сохраняется в строке заголовка? Или этот вариант больше не возможен в windows 10? Мне нужно, чтобы форма имела ту же тему, что и остальные окна. Так что удаление стандартной рамки для меня не вариант.
protected override void WndProc(ref Message m) { if (m.Msg == Win32Utilities.WM_NCPAINT || m.Msg == Win32Utilities.WM_NCACTIVATE) { base.WndProc(ref m); IntPtr hdc = GetWindowDC(m.HWnd); try { using (Graphics g = Graphics.FromHdc(hdc)) { Rectangle rect = GetMuxModeStatusRectangle(); //Rectangle title = GetTitleBarRectangle(); //g.Clip = new Region(title); //g.Clear(SystemColors.Window); g.DrawImageUnscaled(buttonBuffer, new Point(rect.X, rect.Y)); g.Flush(); } } finally { ReleaseDC(m.HWnd, hdc); } } else { base.WndProc(ref m); } }
Что я уже пробовал:
Я проверил, что изображение рисуется, комментируя
база.WndProc(ref m);