Проблемы, связанные с изменением формы не в клиентской области

Похоже, у меня возникли некоторые проблемы с формой в моем проекте после того, как я решил расширить не клиентскую область с помощью этого кода:

<Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)> Public Structure Side
    Public Left As Integer
    Public Right As Integer
    Public Top As Integer
    Public Bottom As Integer

End Structure


<Runtime.InteropServices.DllImport("dwmapi.dll")> Public Shared Function DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByRef pMarinset As Side) As Integer

End Function


Try
        Me.BackColor = Color.Black
        Dim Side As Side = New Side
        Side.Left = -1
        Side.Right = -1
        Side.Top = -1
        Side.Bottom = -1
        Dim result As Integer = dwmExtendFrameIntoClientArea(Me.Handle, Side)

    Catch ex As Exception

    End Try

Код не является точным, просто надеюсь, что он поможет лучше понять, чего я пытался достичь. У меня сейчас проблема с черным цветом, который теперь используется как прозрачность с аэро. Некоторые цвета текста, которые должны быть черными, теперь отражают цвет текущей темы аэроцвета, как вы можете видеть в примерах, а также другие проблемы с цветом в других местах, такие как цвет выделения текста.

введите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесь

Расширение области, не являющейся клиентом, является важной частью проекта, поэтому я не могу слишком сильно от нее отклоняться. В любом случае, я могу попытаться назначить набор цветов для других вещей, таких как это или какое-то другое решение, чтобы решить эту проблему? Я немного размышляю о том, чтобы вмешиваться в дела, связанные с аэро. Спасибо!

0 ответов

Другие вопросы по тегам