非客户区域形式修改问题

时间:2014-09-06 21:31:43

标签: vb.net nonclient-area

在我决定使用此代码扩展非客户区域后,我似乎在项目中遇到了一些问题:

<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

代码并不准确,只是希望它能够更好地理解我试图完成的事情。我现在使用黑色的问题现在被用作航空的透明度。一些应该是黑色的文本颜色现在反映当前航空颜色主题的颜色,您可以在示例中看到,以及其他地方的其他颜色问题,例如文本高亮颜色。

enter image description here enter image description here enter image description here

扩展非客户区域是项目的一个重要部分,所以我不能过多地偏离它。无论如何,我可以尝试为其他类似的东西或其他类型的解决方案指定颜色集来解决这个问题?我有点模糊地干涉与航空有关的表格。谢谢!

0 个答案:

没有答案