用API画边框

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

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值