Option Explicit
Public Const BF_BOTTOM = &H8
Public Const BF_LEFT = &H1
Public Const BF_RIGHT = &H4
Public Const BF_TOP = &H2
Public Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)
Public Const BF_BOTTOMLEFT = (BF_BOTTOM Or BF_LEFT)
Public Const BF_BOTTOMRIGHT = (BF_BOTTOM Or BF_RIGHT)
Public Const BF_TOPRIGHT = (BF_TOP Or BF_RIGHT)
Public Const BF_TOPLEFT = (BF_TOP Or BF_LEFT)
Public Const BF_DIAGONAL = &H10
Public Const BF_DIAGONAL_ENDBOTTOMLEFT = (BF_DIAGONAL Or BF_BOTTOM Or BF_LEFT)
Public Const BF_DIAGONAL_ENDBOTTOMRIGHT = (BF_DIAGONAL Or BF_BOTTOM Or BF_RIGHT)
Public Const BF_DIAGONAL_ENDTOPLEFT = (BF_DIAGONAL Or BF_TOP Or BF_LEFT)
Public Const BF_DIAGONAL_ENDTOPRIGHT = (BF_DIAGONAL Or BF_TOP Or BF_RIGHT)
Public Const BDR_RAISEDINNER = &H4
Public Const BDR_RAISEDOUTER = &H1
Public Const BDR_SUNKENINNER = &H8
Public Const BDR_SUNKENOUTER = &H2
Public Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
Public Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
Public Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
Public Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Declare Function DrawEdge Lib "user32" (ByVal hDC As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
Option Explicit
Private Sub Form_Paint()
Dim r As RECT
r.Left = 10: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_RAISEDOUTER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_RAISEDOUTER"
r.Left = 140: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_SUNKENOUTER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_SUNKENOUTER"
r.Left = 270: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_RAISEDINNER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_RAISEDINNER"
r.Left = 400: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_SUNKENINNER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_SUNKENINNER"
r.Left = 10: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_BUMP, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_BUMP"
r.Left = 140: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_ETCHED, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_ETCHED"
r.Left = 270: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_RAISED, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_RAISED"
r.Left = 400: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_SUNKEN, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_SUNKEN"
End Sub
Public Const BF_BOTTOM = &H8
Public Const BF_LEFT = &H1
Public Const BF_RIGHT = &H4
Public Const BF_TOP = &H2
Public Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)
Public Const BF_BOTTOMLEFT = (BF_BOTTOM Or BF_LEFT)
Public Const BF_BOTTOMRIGHT = (BF_BOTTOM Or BF_RIGHT)
Public Const BF_TOPRIGHT = (BF_TOP Or BF_RIGHT)
Public Const BF_TOPLEFT = (BF_TOP Or BF_LEFT)
Public Const BF_DIAGONAL = &H10
Public Const BF_DIAGONAL_ENDBOTTOMLEFT = (BF_DIAGONAL Or BF_BOTTOM Or BF_LEFT)
Public Const BF_DIAGONAL_ENDBOTTOMRIGHT = (BF_DIAGONAL Or BF_BOTTOM Or BF_RIGHT)
Public Const BF_DIAGONAL_ENDTOPLEFT = (BF_DIAGONAL Or BF_TOP Or BF_LEFT)
Public Const BF_DIAGONAL_ENDTOPRIGHT = (BF_DIAGONAL Or BF_TOP Or BF_RIGHT)
Public Const BDR_RAISEDINNER = &H4
Public Const BDR_RAISEDOUTER = &H1
Public Const BDR_SUNKENINNER = &H8
Public Const BDR_SUNKENOUTER = &H2
Public Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
Public Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
Public Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
Public Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Declare Function DrawEdge Lib "user32" (ByVal hDC As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
Option Explicit
Private Sub Form_Paint()
Dim r As RECT
r.Left = 10: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_RAISEDOUTER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_RAISEDOUTER"
r.Left = 140: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_SUNKENOUTER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_SUNKENOUTER"
r.Left = 270: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_RAISEDINNER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_RAISEDINNER"
r.Left = 400: r.Top = 10
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, BDR_SUNKENINNER, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "BDR_SUNKENINNER"
r.Left = 10: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_BUMP, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_BUMP"
r.Left = 140: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_ETCHED, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_ETCHED"
r.Left = 270: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_RAISED, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_RAISED"
r.Left = 400: r.Top = 80
r.Right = r.Left + 30: r.Bottom = r.Top + 30
DrawEdge Me.hDC, r, EDGE_SUNKEN, BF_RECT
CurrentX = r.Left: CurrentY = r.Bottom + 5
Print "EDGE_SUNKEN"
End Sub