投稿者 VBビギナー  (社会人) 投稿日時 2011/4/1 09:42:40
三角形を塗りつぶししたいのですが、どうにもうまくいきません。

プログラムの説明としては、RGBを用いた塗りつぶしです。VScrollの値を用いてRGBを使い、
コマンドボタンを押すと、RGBで出た色で三角形が塗りつぶされるというものなのです。


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 Function Paint(X As Long, Y As Long)

     Dim T
    T = Screen.TwipsPerPixelX

    ExtFloodFill Me.hdc, X / T, Y / T, vbBlack, 0
    Me.Refresh

End Function

Private Sub Form_Load()
 
       Form1.AutoRedraw = True
    
    Form1.FillStyle = 0
    
    Line (4000, 1000)-(5000, 3000)
    Line -(3000, 3000)
    Line -(4000, 1000)

End Sub

Private Sub Command1_Click()

   Dim X As Integer
   Dim Y As Integer
   Dim Z As Integer
   
    X = VScroll1.Value
    Y = VScroll2.Value
    Z = VScroll3.Value

     Me.FillColor = RGB(X, Y, Z)
    
    
    
End Sub

回答よろしくお願いいたします。