http://www.
试试吧~不过我不是像他用控件做的~
我是用动态加载类型~又是另一种方法~
方式很多~这就是编程好玩的地方~
试试吧~不过我不是像他用控件做的~
我是用动态加载类型~又是另一种方法~
方式很多~这就是编程好玩的地方~
不要投我
Option Explicit Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRECT As RECT) As Long Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRECT As RECT) As Long Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Const RGN_AND = 1 Const RGN_COPY = 5 Const RGN_DIFF = 4 Const RGN_OR = 2 Const RGN_XOR = 3 Private Type POINTAPI x As Long Y As Long End Type Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Sub MakeTransparent(frm As Variant) Dim rctClient As RECT, rctFrame As RECT Dim hClient As Long, hFrame As Long '获得窗口矩形区域 GetWindowRect frm.hWnd, rctFrame GetClientRect frm.hWnd, rctClient '将窗口矩形坐标转换为屏幕坐标 Dim lpTL As POINTAPI, lpBR As POINTAPI lpTL.x = rctFrame.Left lpTL.Y = rctFrame.Top lpBR.x = rctFrame.Right lpBR.Y = rctFrame.Bottom ScreenToClient frm.hWnd, lpTL ScreenToClient frm.hWnd, lpBR rctFrame.Left = lpTL.x rctFrame.Top = lpTL.Y rctFrame.Right = lpBR.x rctFrame.Bottom = lpBR.Y rctClient.Left = Abs(rctFrame.Left) rctClient.Top = Abs(rctFrame.Top) rctClient.Right = rctClient.Right + Abs(rctFrame.Left) rctClient.Bottom = rctClient.Bottom + Abs(rctFrame.Top) rctFrame.Right = rctFrame.Right + Abs(rctFrame.Left) rctFrame.Bottom = rctFrame.Bottom + Abs(rctFrame.Top) rctFrame.Top = 0 rctFrame.Left = 0 hClient = CreateRectRgn(rctClient.Left, rctClient.Top, rctClient.Right, rctClient.Bottom) hFrame = CreateRectRgn(rctFrame.Left, rctFrame.Top, rctFrame.Right, rctFrame.Bottom) CombineRgn hFrame, hClient, hFrame, RGN_XOR SetWindowRgn frm.hWnd, hFrame, True End Sub Private Sub Form_Click() MakeTransparent Me.Frame1 MakeTransparent Me.TabStrip1 MakeTransparent Me.Toolbar1 MakeTransparent Me.Text1 Text1.ForeColor = RGB(255, 0, 0) End Sub