Const ini = 100
Dim iniX As Integer
Dim iniY As Integer
Private Sub Command1_Click()
For k = 0 To 29
Picture1.Line (iniX, iniY)-(iniX, iniY + 300), 16777215 - vbRed ' quiero poner rojo, pero como utilizo el 'XOR'...
iniX = ini + (k * 20)
Next
End Sub
Private Sub Command2_Click()
iniX = 100: iniY = 100
For k = 0 To 29 Step 2 ' solo toca las líneas pares
Picture1.Line (iniX, iniY)-(iniX, iniY + 20 + (10 * k)), vbBlue ' estas líneas van creciendo en longitud
iniX = ini + (k * 20)
Next
End Sub
Private Sub Form_Load()
Dim img As IPictureDisp
Me.ScaleMode = vbPixels
iniY = 100
With Picture1
.AutoSize = True
.AutoRedraw = True ' prueba a desactivar esta línea, y verás lo que ocurre...
.Refresh
.ScaleMode = vbPixels
.DrawMode = vbXorPen
.DrawWidth = 15 ' para ver mejor qué es lo que hace, lo normal es que vayas a utilizar 1 o 2...
Set img = .Picture
.Width = 700 ' bucle de 30 * 20 distancia entee líneas + 100 de ini=700, así quedan todas visibles...
.Height = 500 ' 100 de iniy(margens superior) + 300 de alto de línea mayor, más 100 de margen inferior = 500
.PaintPicture img, 0, 0
.Picture = .Image
End With
Set img = Nothing
End Sub