阿杰 发表于 2012-5-3 21:49:22

API绘制通用控件

来源:http://hi.baidu.com/arteriosclerosis/blog/item/3fe6fc1e119f93f3e0fe0ba2.html
'列出相应的图形。

Option Explicit
Private Enum DFC_
    DFC_CAPTION = 1
    DFC_MENU
    DFC_SCROLL
    DFC_BUTTON
End Enum
Private Enum DFCS_
    DFCS_ADJUSTRECT = &H2000
    DFCS_BUTTON3STATE = &H8
    DFCS_BUTTONCHECK = &H0
    DFCS_BUTTONPUSH = &H10
    DFCS_BUTTONRADIO = &H4
    DFCS_BUTTONRADIOIMAGE = &H1
    DFCS_BUTTONRADIOMASK = &H2
    DFCS_CAPTIONCLOSE = &H0
    DFCS_CAPTIONHELP = &H4
    DFCS_CAPTIONMAX = &H2
    DFCS_CAPTIONMIN = &H1
    DFCS_CAPTIONRESTORE = &H3
    DFCS_CHECKED = &H400
    DFCS_FLAT = &H4000
    DFCS_INACTIVE = &H100
    DFCS_MENUARROW = &H0
    DFCS_MENUARROWRIGHT = &H4
    DFCS_MENUBULLET = &H2
    DFCS_MENUCHECK = &H1
    DFCS_MONO = &H8000
    DFCS_PUSHED = &H200
    DFCS_SCROLLCOMBOBOX = &H5
    DFCS_SCROLLDOWN = &H1
    DFCS_SCROLLLEFT = &H2
    DFCS_SCROLLRIGHT = &H3
    DFCS_SCROLLSIZEGRIP = &H8
    DFCS_SCROLLSIZEGRIPRIGHT = &H10
    DFCS_SCROLLUP = &H0
End Enum
Private Type RECT
      Left As Long
      Top As Long
      Right As Long
      Bottom As Long
End Type
Private Declare Function DrawFrameControl Lib "user32" (ByVal hDC As Long, lpRect As RECT, ByVal un1 As DFC_, ByVal un2 As DFCS_) As Long

Private Sub Command1_Click()
Dim r As RECT
r.Bottom = 30
r.Right = 30
DrawFrameControl hDC, r, DFC_BUTTON, DFCS_BUTTON3STATE '(DFCS_BUTTONCHECK)

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_BUTTONPUSH

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_BUTTONRADIO

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_BUTTONRADIOIMAGE

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_BUTTONRADIOMASK

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_CHECKED

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_FLAT '(DFCS_MONO)

DrawFrameControl hDC, r, DFC_BUTTON, DFCS_INACTIVE '(DFCS_PUSHED)

'================================

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_CAPTIONCLOSE

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_CAPTIONHELP

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_CAPTIONMAX

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_CAPTIONMIN

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_CAPTIONRESTORE

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_CHECKED

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_FLAT

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_INACTIVE

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_MONO

DrawFrameControl hDC, r, DFC_CAPTION, DFCS_PUSHED

'======================================

DrawFrameControl hDC, r, DFC_MENU, DFCS_MENUARROW '(DFCS_ADJUSTRECT,DFCS_CHECKED,DFCS_FLAT,DFCS_INACTIVE,DFCS_MONO,DFCS_PUSHED)

DrawFrameControl hDC, r, DFC_MENU, DFCS_MENUARROWRIGHT

DrawFrameControl hDC, r, DFC_MENU, DFCS_MENUBULLET

DrawFrameControl hDC, r, DFC_MENU, DFCS_MENUCHECK

'=============================

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_SCROLLDOWN '(DFCS_SCROLLCOMBOBOX)

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_SCROLLLEFT

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_SCROLLRIGHT

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_SCROLLSIZEGRIP

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_SCROLLSIZEGRIPRIGHT

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_SCROLLUP '(DFCS_ADJUSTRECT)

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_CHECKED

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_FLAT

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_INACTIVE

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_MONO

DrawFrameControl hDC, r, DFC_SCROLL, DFCS_PUSHED

End Sub
页: [1]
查看完整版本: API绘制通用控件