1

在我决定使用以下代码扩展非客户区之后,我的项目中的表单似乎有一些问题:

<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

代码并不准确,只是希望它可以帮助更好地理解我试图完成的工作。我现在遇到的问题是黑色现在被用作航空的透明度。一些本应为黑色的文本颜色现在反映了当前航空颜色主题的颜色,如您在示例中所见,以及其他颜色问题,例如文本突出显示颜色。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

扩展非客户区是项目的重要组成部分,所以我不能偏离太多。无论如何,我可以尝试为其他类似的事情或其他解决方案指定一个颜色集来解决这个问题?我对插手与航空有关的形式有点模糊。谢谢!

4

0 回答 0