24. september 2000 - 18:20
#1
Vil det sige at man overhoved ikke kan se nogle kontroller eller skal baggrunden bare være gennemsigtig hvorfor alle kontroller på formen stadigvæk kan ses???
Hvis den skal være helt usynlig kan du lave en ActiveX kontrol (UserControl) og sætte InvisibleAtRuntime propertien til true!!
24. september 2000 - 20:13
#2
Nej, ikke på den måde. Jeg har en sprite, som er det eneste, der skal kunne ses. Fint nok, men baggrunden, det man vel kunne kalde Stagen, er bare sort ;(
05. oktober 2000 - 17:47
#3
Private Declare Function DeleteObject Lib \"gdi32\" (ByVal hObject 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 CombineRgn Lib \"gdi32\" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SetWindowRgn Lib \"user32\" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Private Const RGN_OR = 2
Private Sub pCreateSkin()
Dim lReturn As Long
Dim lRgnTmp As Long
Dim lSkinRgn As Long
Dim lWidth As Long
Dim lHeight As Long
lWidth = (ScaleWidth) / Screen.TwipsPerPixelX
lHeight = (ScaleHeight) / Screen.TwipsPerPixelY
lSkinRgn = CreateRectRgn(0, 0, 10, lHeight)
lRgnTmp = CreateRectRgn(0, 0, lWidth, 25)
lReturn = CombineRgn(lSkinRgn, lSkinRgn, lRgnTmp, RGN_OR)
lRgnTmp = CreateRectRgn(lWidth, 0, lWidth - 10, lHeight)
lReturn = CombineRgn(lSkinRgn, lSkinRgn, lRgnTmp, RGN_OR)
lRgnTmp = CreateRectRgn(0, lHeight, lWidth - 10, lHeight - 10)
lReturn = CombineRgn(lSkinRgn, lSkinRgn, lRgnTmp, RGN_OR)
Call DeleteObject(lRgnTmp)
Call SetWindowRgn(hwnd, lSkinRgn, True)
End Sub