Прямо сейчас я рисую маленькое изображение 16x16 в строке заголовка моего окна.Это работает хорошо, за исключением неприятного мерцания, от которого я не могу понять, как избавиться.
Я просто рисую изображение следующим образом:
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_SIZE Then
wnd_size = New Size(New Point(CInt(m.LParam)))
End If
If m.Msg = WM_ACTIVATE _
OrElse m.Msg = WM_SIZE _
OrElse m.Msg = WM_SYNCPAINT _
OrElse m.Msg = WM_NCACTIVATE _
OrElse m.Msg = WM_NCCREATE _
OrElse m.Msg = WM_NCPAINT _
OrElse m.Msg = WM_NCACTIVATE _
OrElse m.Msg = WM_NCHITTEST _
OrElse m.Msg = WM_PAINT _
OrElse m.Msg = WM_MOUSEMOVE Then
Dim g As Graphics = Graphics.FromHdc(CType(GetWindowDC(CInt(Handle)), IntPtr))
g.DrawImage(My.Resources.drag, 0, 0, 16, 16)
End If
MyBase.WndProc(m)
End Sub
Его перерисовывается вся строка заголовка каждый раз, когда что-то меняется на ней (щелчок мышью над угловыми кнопками и т. Д.), ИВо время перекраски у меня появляется мерцание.
Кто-нибудь еще сталкивался с этой проблемой?