用VB画三角形后如何填充颜色呀

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:15:15
用VB画三角形后如何填充颜色呀,我用三条线组成的三角形,里面为什么不会填充颜色?

Private Sub Picture1_Click()
With Picture1
.FillColor = vbRed
.FillStyle = 0
.ForeColor = vbBlue
Picture1.Line (Picture1.ScaleLeft, Picture1.ScaleTop)-(Picture1.ScaleLeft + Picture1.ScaleWidth, Picture1.ScaleTop + Picture1.ScaleHeight / 2)
Picture1.Line -(Picture1.ScaleLeft, Picture1.ScaleTop + Picture1.ScaleHeight)
Picture1.Line -(Picture1.ScaleLeft, Picture1.ScaleTop)
end with

Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long

Private Sub Picture1_Click()
With Picture1
.FillColor = vbRed
.FillStyle = 0
.ForeColor = vbBlue
Picture1.Line (Picture1.ScaleLeft, Picture1.ScaleTop)-(Picture1.ScaleLeft + Picture1.ScaleWidth, Picture1.ScaleTop + Picture1.ScaleHeight / 2)
Picture1.Line -(Picture1.ScaleLeft, Picture1.ScaleTop + Picture1.ScaleHeight)
Picture1.Line -(Picture1.ScaleLeft, Picture1.ScaleTop)
End With
Call ExtFloodFill(Picture1.hdc, Picture1.ScaleLeft + 1, Picture1.ScaleTop + 1, vbBlue, 0)
End Sub

填充颜色需要调用api
划线是不能填充的