Проблемы, связанные с изменением формы не в клиентской области
Похоже, у меня возникли некоторые проблемы с формой в моем проекте после того, как я решил расширить не клиентскую область с помощью этого кода:
<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
Код не является точным, просто надеюсь, что он поможет лучше понять, чего я пытался достичь. У меня сейчас проблема с черным цветом, который теперь используется как прозрачность с аэро. Некоторые цвета текста, которые должны быть черными, теперь отражают цвет текущей темы аэроцвета, как вы можете видеть в примерах, а также другие проблемы с цветом в других местах, такие как цвет выделения текста.
Расширение области, не являющейся клиентом, является важной частью проекта, поэтому я не могу слишком сильно от нее отклоняться. В любом случае, я могу попытаться назначить набор цветов для других вещей, таких как это или какое-то другое решение, чтобы решить эту проблему? Я немного размышляю о том, чтобы вмешиваться в дела, связанные с аэро. Спасибо!