Gå til innhold

Anbefalte innlegg

Hallo

 

Holder på med en form her nå, og jeg vil ha avrundete hjørner. Jeg prøvde å sette inn noen runde shapes, men så viste det seg at koden bare støttet rette linjer. Så de runde hjørnene ble firkantet igjen :( Er det noen som har en transparant kode som bare gjør formen usynelig, og støtter buede linjer? eller finnes det en annen måte å gjøre dette på?

Lenke til kommentar
Videoannonse
Annonse

Du kan gjøre selve formen avrundet ved å endre inntegningsregionen. Dette fungerer best når BorderStyle er 0. Følgende kode gjør dette:

 

Private Declare Function SelectClipRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private 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
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Dim hRgn As Long

Private Sub Form_Load()

Me.ScaleMode = vbPixels

End Sub

Private Sub Form_Paint()

Form_Resize

End Sub

Private Sub Form_Resize()

Dim Ret As Long

DeleteObject hRgn
hRgn = CreateRoundRectRgn(0, 0, Me.ScaleWidth, Me.ScaleHeight, 25, 25)
SelectClipRgn Me.hdc, hRgn

' *** Nødvendig når BorderStyle ikke er 0 ***
'SetWindowRgn Me.hWnd, hRgn, True

End Sub

Private Sub Form_Unload(Cancel As Integer)

DeleteObject hRgn

End Sub

Lenke til kommentar

Funka i en blank form :)

 

Men ikke i mitt prosjekt :(

 

untitled.JPG

Sånn så det ut når jeg putta den inn

 

Jeg har en kode som gjør at man kan flytte på formen når jeg trykker på den. den jeg posta her i dag. Kan den ødelegge?

 

Edit: de to hjørnene på venstre side ble fine

 

Edit2: prøvde å gjøre formen mye større nå, så alle objektene var langt fra kanten. Da funka det.

Endret av jonas22282460
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...