Avatar billede snipah Nybegynder
25. april 2001 - 12:07 Der er 3 kommentarer og
2 løsninger

Gennemsigtig form i VB6 ?

Hvordan kan man lave en gennemsigtig form?
Jeg vil gerne have cuttet kanterne af og så kun beholde så man kan se shapes og buttons.

Man skal samtidig have mulighed for at kunne trække rundt med vinduet, som man ellers ville have gjort med captions baren.

Jeg håber på et behjælpeligt svar ;)

Mvh
Morten Frost Baunbæk
Avatar billede adagio Nybegynder
26. april 2001 - 14:24 #1
Jeg ved ikke lige helt hvodan der skal gøres, men jeg har prøvet at søge på http://www.planet-source-code.com/ med ordene forms and shapes (eller lign.), der findes i hvertfald noget der som man måske kan bruge.
Avatar billede adagio Nybegynder
26. april 2001 - 17:46 #2
Du kan måske bruge dette:

Dim FW As Long \' form width (in pixels)
Dim FH As Long \' form height (in pixels)
Dim FillMode As Long


Private Sub Command1_Click()
   
    Dim hRgn As Long
    Dim RetVal As Long
   
    Dim Points(8) As POINTAPI

    Points(0).x = 200
    Points(0).y = 0

    Points(1).x = 600
    Points(1).y = 0

    Points(2).x = 600
    Points(2).y = 50
     
    Points(3).x = 300
    Points(3).y = 50
   
    Points(4).x = 275
    Points(4).y = 100
   
    Points(5).x = 250
    Points(5).y = 100
   
    Points(6).x = 275
    Points(6).y = 50
   
    Points(7).x = 200
    Points(7).y = 50
       
    hRgn = CreatePolygonRgn(Points(0), 8, FillMode)

    Call SetWindowRgn(Form1.hWnd, hRgn, True)
   
End Sub

Med det kan du shape winduet som du vil (punkt for punkt) dog skal du også bruge et modul med følgende:

Public Declare Function SetWindowRgn Lib \"user32\" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function CreatePolygonRgn Lib \"gdi32\" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Public Declare Function CreatePolyPolygonRgn Lib \"gdi32\" (lpPoint As POINTAPI, lpPolyCounts As Long, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Public Declare Function GetPolyFillMode Lib \"gdi32\" (ByVal hdc As Long) As Long
Public Declare Function CreateEllipticRgn Lib \"gdi32\" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function CreateRoundRectRgn Lib \"gdi32\" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Public Declare Function CombineRgn Lib \"gdi32\" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Public Declare Sub Sleep Lib \"kernel32\" (ByVal dwMilliseconds As Long)
Public Declare Function CreateRectRgn Lib \"gdi32\" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Public Type POINTAPI
        x As Long
        y As Long
End Type

Public Const RGN_AND = 1
Public Const RGN_COPY = 5
Public Const RGN_DIFF = 4
Public Const RGN_OR = 2
Public Const RGN_XOR = 3


Jeg ved dog stadig ikke hvordan man kan flytte rundt med winduet, men håber det hjælper dig!
Avatar billede adagio Nybegynder
26. april 2001 - 17:47 #3
btw, jeg ved ikke lige om det er alle dem i modulet som skal bruges, da der lige var en som viste mig det
Avatar billede sjh Nybegynder
27. april 2001 - 00:59 #4
Avatar billede adagio Nybegynder
27. april 2001 - 14:09 #5
tak sjh, den var en del lettere (bortset fra alle underkoderne som jeg lige skal studere lidt nærmere...og det virker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester