Square.vb
上传用户:c_chunwei
上传日期:2022-05-07
资源大小:80k
文件大小:4k
源码类别:

其他智力游戏

开发平台:

Visual Basic

  1. Imports System
  2. Imports System.Drawing
  3. Imports System.Drawing.Drawing2D
  4. Namespace Nettrix
  5.     _
  6.     Public Class Square
  7.         Private SquareLocation As Point
  8.         Public Property Location() As Point
  9.             Get
  10.                 Return SquareLocation
  11.             End Get
  12.             Set(ByVal Value As Point)
  13.                 SquareLocation = Value
  14.             End Set
  15.         End Property
  16.         Private SquareSize As Size
  17.         Public Property Size() As Size
  18.             Get
  19.                 Return SquareSize
  20.             End Get
  21.             Set(ByVal Value As Size)
  22.                 SquareSize = Value
  23.             End Set
  24.         End Property
  25.         Private ForegroundColor As Color
  26.         Public Property ForeColor() As Color
  27.             Get
  28.                 Return ForegroundColor
  29.             End Get
  30.             Set(ByVal Value As Color)
  31.                 ForegroundColor = Value
  32.             End Set
  33.         End Property
  34.         Private BackgroundColor As Color
  35.         Public Property BackColor() As Color
  36.             Get
  37.                 Return BackgroundColor
  38.             End Get
  39.             Set(ByVal Value As Color)
  40.                 BackgroundColor = Value
  41.             End Set
  42.         End Property
  43.         ' Draws A Rectangle With Gradient Path Using The Properties Above
  44.         Public Sub Show(ByVal WinHandle As System.IntPtr)
  45.             '  If We Wish To Draw A Simple Solid Triangle With A Coloured Border, We Can Use:
  46.             '        GameGraphics.FillRectangle(New SolidBrush(ForeColor), Location.X, Location.Y, Size.Width, Size.Height)
  47.             '        GameGraphics.FillRectangle(New SolidBrush(BackColor), Location.X + 1, Location.Y + 1, Size.Width - 2, Size.Height - 2)
  48.             Dim GameGraphics As Graphics
  49.             Dim GraphPath As GraphicsPath
  50.             Dim BrushSquare As PathGradientBrush
  51.             Dim SurroundColor() As Color
  52.             Dim RectSquare As Rectangle
  53.             ' Gets The Graphics Object Of The Background Picture
  54.             GameGraphics = Graphics.FromHwnd(WinHandle)
  55.             ' Create A Path Consisting Of One Rectangle
  56.             GraphPath = New GraphicsPath
  57.             RectSquare = New Rectangle(Location.X, Location.Y, Size.Width, Size.Height)
  58.             GraphPath.AddRectangle(RectSquare)
  59.             ' Creates The Gradient Brush Which Will Draw The Square
  60.             ' Note: Theres One Center Color And An Array Of Border Colors 
  61.             BrushSquare = New PathGradientBrush(GraphPath)
  62.             BrushSquare.CenterColor = ForeColor
  63.             SurroundColor = New Color() {BackColor}
  64.             BrushSquare.SurroundColors = SurroundColor
  65.             ' Finally Draws The Square
  66.             GameGraphics.FillPath(BrushSquare, GraphPath)
  67.         End Sub 'Show
  68.         Public Sub Hide(ByVal WinHandle As System.IntPtr)
  69.             Dim GameGraphics As Graphics
  70.             Dim RectSquare As Rectangle
  71.             ' Gets The Graphics Object Of The Background Picture
  72.             GameGraphics = Graphics.FromHwnd(WinHandle)
  73.             ' Since We Are Working In A Solid Background, We Can Just Draw A Solid Rectangle In Order To "Hide" The Current Square
  74.             RectSquare = New Rectangle(Location.X, Location.Y, Size.Width, Size.Height)
  75.             GameGraphics.FillRectangle(New SolidBrush(GameField.BackColor), RectSquare)
  76.         End Sub 'Hide
  77.         Public Sub New(ByVal InitialSize As Size, ByVal InitialBackColor As Color, ByVal InitialForeColor As Color)
  78.             Size = InitialSize
  79.             BackColor = InitialBackColor
  80.             ForeColor = InitialForeColor
  81.         End Sub 'New
  82.     End Class 'Square
  83. End Namespace 'Nettrix