我想在屏幕上画一个圆形,并且填充成蓝色,该怎么写?

解决方案 »

  1.   

    在哪个屏幕上?
    windows还是vb窗体上?
      

  2.   

    call form1.Circle(Step As Integer, X As Single, Y As Single, Radius As Single, Color As Long, Start As Single, End As Single, Aspect As Single)
      

  3.   

    直接在窗体上画一个Shape
    FillStyle = 0
    FillColor = &H00FF0000&
      

  4.   

    用RoundRect API函数
    步骤:
    得到屏幕DC
    创建一个画笔
    选定画笔
    创建一个刷子
    选定刷子
    最后用RoundRect
      

  5.   

    Private Declare Function CreateBrushIndirect Lib "gdi32" (lpLogBrush As LOGBRUSH) As Long
    Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
    Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Dim hDesktopDC As Long
    Private Type LOGBRUSH
            lbStyle As Long
            lbColor As Long
            lbHatch As Long
    End Type
    Private Const BS_HATCHED = 2
    Private Const BS_SOLID = 0
    Dim hBrush As Long
    Dim holdBrush As Long
    Dim brush As LOGBRUSH
    Dim oldBrush As LOGBRUSH
    Private Sub Command1_Click()
        hBrush = CreateBrushIndirect(brush)                    '创建刷子
        holdBrush = SelectObject(hDesktopDC, hBrush)      '选择刷子
        Ellipse hDesktopDC, 100, 100, 150, 200                 '画椭园
        SelectObject hDesktopDC, holdBrush                    '恢复刷子
    End SubPrivate Sub Form_Load()
        hDesktopDC = GetDC(0)
        With brush
            .lbColor = RGB(0, 255, 0)
            .lbHatch = BS_HATCHED
            .lbStyle = BS_SOLID
        End With
    End Sub
      

  6.   

    谢谢,就是在form上画, 会了, 谢谢