Sandt nok.
Public Class Form1
Dim SpriteWidth As Byte
Dim SpriteHeight As Byte
Dim TileX As Integer
Dim TileY As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SpriteWidth = 16
SpriteHeight = 16
AreaContainer.SendToBack()
Area.SendToBack()
End Sub
Private Sub Area_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Area.MouseMove
TileX = e.X \\ SpriteWidth
TileY = e.Y \\ SpriteHeight
LineTop.X1 = AreaContainer.Left + TileX * SpriteWidth
LineTop.X2 = LineTop.X1 + SpriteWidth
LineTop.Y1 = AreaContainer.Top + TileY * SpriteHeight
LineTop.Y2 = LineTop.Y1
LineLeft.X1 = LineTop.X1
LineLeft.X2 = LineTop.X1
LineLeft.Y1 = LineTop.Y1
LineLeft.Y2 = LineLeft.Y1 + SpriteHeight
LineRight.X1 = LineTop.X1 + SpriteWidth - 1
LineRight.X2 = LineRight.X1
LineRight.Y1 = LineTop.Y1
LineRight.Y2 = LineLeft.Y2
LineBottom.X1 = LineTop.X1
LineBottom.X2 = LineTop.X2
LineBottom.Y1 = LineTop.Y1 + SpriteHeight - 1
LineBottom.Y2 = LineBottom.Y1
End Sub
End Class
Jeg har på min Form et Panel kaldet AreaContainer, en PictureBox kaldet Area som er Docket indeni AreaContaineren, samt 4 LineShapes (fra Visual Basic Power Packs 3.0) kaldet LineTop, LineLeft, LineRight og LineBottom.
Ovenstående er for øvrigt noget jeg lige satte sammen fra min reelle kode. Af en eller anden grund er denne kode meget ren, mens min reelle kode er blevet automatisk fyldt med alle mulige oplysninger om de ting jeg har puttet på min Form. Jeg kan forstå at koden skal bruge den, men ikke hvorfor det så ikke er blevet tilføjet ovenstående kode.
Indlæg senest redigeret d. 07.05.2008 12:28 af Bruger #12726