home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / ChildFun_v2089571142007.psc / ChildFun / frmMain.frm < prev    next >
Text File  |  2007-11-04  |  17KB  |  499 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
  3. Begin VB.Form frmMain 
  4.    Caption         =   "ChildFun"
  5.    ClientHeight    =   10275
  6.    ClientLeft      =   435
  7.    ClientTop       =   1950
  8.    ClientWidth     =   15240
  9.    Icon            =   "frmMain.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    ScaleHeight     =   10275
  12.    ScaleWidth      =   15240
  13.    StartUpPosition =   2  'CenterScreen
  14.    Begin VB.CommandButton cmdSprayer 
  15.       Height          =   855
  16.       Index           =   5
  17.       Left            =   3480
  18.       Picture         =   "frmMain.frx":0ABA
  19.       Style           =   1  'Graphical
  20.       TabIndex        =   4
  21.       Top             =   360
  22.       Width           =   855
  23.    End
  24.    Begin VB.CommandButton cmdSprayer 
  25.       Height          =   855
  26.       HelpContextID   =   4
  27.       Index           =   4
  28.       Left            =   2640
  29.       Picture         =   "frmMain.frx":3B38
  30.       Style           =   1  'Graphical
  31.       TabIndex        =   3
  32.       Top             =   360
  33.       Width           =   855
  34.    End
  35.    Begin VB.CommandButton cmdSprayer 
  36.       Height          =   855
  37.       Index           =   3
  38.       Left            =   1800
  39.       Picture         =   "frmMain.frx":6712
  40.       Style           =   1  'Graphical
  41.       TabIndex        =   2
  42.       Top             =   360
  43.       Width           =   855
  44.    End
  45.    Begin VB.CommandButton cmdSprayer 
  46.       Caption         =   " "
  47.       Height          =   855
  48.       Index           =   2
  49.       Left            =   960
  50.       Picture         =   "frmMain.frx":9B20
  51.       Style           =   1  'Graphical
  52.       TabIndex        =   1
  53.       Top             =   360
  54.       Width           =   855
  55.    End
  56.    Begin VB.CommandButton cmdSprayer 
  57.       Caption         =   " "
  58.       Height          =   855
  59.       Index           =   1
  60.       Left            =   120
  61.       Picture         =   "frmMain.frx":CF2E
  62.       Style           =   1  'Graphical
  63.       TabIndex        =   0
  64.       Top             =   360
  65.       Width           =   855
  66.    End
  67.    Begin VB.CommandButton cmdRight 
  68.       BackColor       =   &H00FFFFFF&
  69.       Height          =   855
  70.       Left            =   14400
  71.       Picture         =   "frmMain.frx":11C50
  72.       Style           =   1  'Graphical
  73.       TabIndex        =   13
  74.       Top             =   240
  75.       Width           =   855
  76.    End
  77.    Begin VB.CommandButton cmdPlugin 
  78.       BackColor       =   &H00FFFFFF&
  79.       Caption         =   "no plugin"
  80.       Height          =   855
  81.       Left            =   12240
  82.       Picture         =   "frmMain.frx":127BA
  83.       Style           =   1  'Graphical
  84.       TabIndex        =   14
  85.       Top             =   240
  86.       Width           =   2175
  87.    End
  88.    Begin VB.CommandButton cmdLeft 
  89.       BackColor       =   &H00FFFFFF&
  90.       Height          =   855
  91.       Left            =   11400
  92.       Picture         =   "frmMain.frx":12F4C
  93.       Style           =   1  'Graphical
  94.       TabIndex        =   12
  95.       Top             =   240
  96.       Width           =   855
  97.    End
  98.    Begin MSComDlg.CommonDialog cdlColor 
  99.       Left            =   5880
  100.       Top             =   120
  101.       _ExtentX        =   847
  102.       _ExtentY        =   847
  103.       _Version        =   393216
  104.       DialogTitle     =   "Select color"
  105.    End
  106.    Begin VB.PictureBox picSprayer 
  107.       Height          =   1095
  108.       Left            =   7800
  109.       ScaleHeight     =   1035
  110.       ScaleWidth      =   1395
  111.       TabIndex        =   11
  112.       Top             =   240
  113.       Width           =   1455
  114.    End
  115.    Begin VB.PictureBox picCanvas 
  116.       AutoRedraw      =   -1  'True
  117.       BackColor       =   &H00FFFFFF&
  118.       Height          =   8775
  119.       Left            =   0
  120.       ScaleHeight     =   581
  121.       ScaleMode       =   3  'Pixel
  122.       ScaleWidth      =   1021
  123.       TabIndex        =   10
  124.       Top             =   1440
  125.       Width           =   15375
  126.    End
  127.    Begin VB.CommandButton cmdSave 
  128.       Caption         =   "Save"
  129.       Height          =   375
  130.       Left            =   9480
  131.       TabIndex        =   9
  132.       Top             =   840
  133.       Width           =   1695
  134.    End
  135.    Begin VB.CommandButton cmdClear 
  136.       Caption         =   "Clear"
  137.       Height          =   375
  138.       Left            =   9480
  139.       TabIndex        =   8
  140.       Top             =   360
  141.       Width           =   1695
  142.    End
  143.    Begin VB.PictureBox picBrushPreview 
  144.       Height          =   855
  145.       Left            =   4680
  146.       ScaleHeight     =   795
  147.       ScaleWidth      =   795
  148.       TabIndex        =   6
  149.       Top             =   360
  150.       Width           =   855
  151.    End
  152.    Begin VB.HScrollBar hscSize 
  153.       Height          =   255
  154.       LargeChange     =   5
  155.       Left            =   5760
  156.       Max             =   700
  157.       Min             =   1
  158.       TabIndex        =   5
  159.       Top             =   840
  160.       Value           =   1
  161.       Width           =   1815
  162.    End
  163.    Begin VB.Image imgSprRight 
  164.       Height          =   240
  165.       Left            =   4200
  166.       Picture         =   "frmMain.frx":13AB6
  167.       Top             =   120
  168.       Width           =   150
  169.    End
  170.    Begin VB.Image imgSprLeft 
  171.       Height          =   240
  172.       Left            =   120
  173.       Picture         =   "frmMain.frx":13CF8
  174.       Top             =   120
  175.       Width           =   150
  176.    End
  177.    Begin VB.Label lblSize 
  178.       Alignment       =   2  'Center
  179.       BackStyle       =   0  'Transparent
  180.       Caption         =   "Size:"
  181.       Height          =   255
  182.       Left            =   5880
  183.       TabIndex        =   7
  184.       Top             =   480
  185.       Width           =   1695
  186.    End
  187.    Begin VB.Label lblSprayer 
  188.       Alignment       =   2  'Center
  189.       BackColor       =   &H00FFFFFF&
  190.       Height          =   255
  191.       Left            =   240
  192.       TabIndex        =   15
  193.       Top             =   120
  194.       Width           =   3975
  195.    End
  196.    Begin VB.Menu mnuPopup 
  197.       Caption         =   "POPUP"
  198.       Visible         =   0   'False
  199.       Begin VB.Menu mnuPopupPrimaryColor 
  200.          Caption         =   "Select primary color..."
  201.       End
  202.       Begin VB.Menu mnuPopupSecondaryColor 
  203.          Caption         =   "Select secondary color..."
  204.       End
  205.    End
  206. End
  207. Attribute VB_Name = "frmMain"
  208. Attribute VB_GlobalNameSpace = False
  209. Attribute VB_Creatable = False
  210. Attribute VB_PredeclaredId = True
  211. Attribute VB_Exposed = False
  212. ' It was a simple program for drawing.
  213. '
  214. ' I am ten. I was maked this program for my little brother and I got an idea to submit it to Planet-Source-Code.
  215. '
  216. '
  217. ' It has an brush function. Click on brush preview picturebox and brush will be activated. Change size by scrrolbar.
  218. ' You can draw with random, single or two colors that are switching when you move the mouse. To use single color,
  219. ' select primary and secondary colors be same. Set primary/secondary color:
  220.  
  221. ' Right click on cnavas, select "Select primary" or "Select secondary color" and pick up shelled color.
  222. ' Click Random colors to spray random colors on canvas.
  223.  
  224. ' It has an image sprayer function. Click on an image and spray on cnavas.
  225.  
  226. '"Clear" to clear canvas,  "Save" to save image.
  227.  
  228. ' If You like this code = True Then
  229. '   Call Vote_For_Geomaster
  230. '   Enjoy
  231. ' Else
  232. '   Enjoy
  233. ' End If
  234.  
  235. Dim Plugins() As String
  236.  
  237. Const ShellType = "bmp"
  238. Const TopConst = 1440
  239. Const SaveType = "bmp"
  240.  
  241. Public SprayerCount As Integer
  242. Public CurrentSprayer As Integer
  243. Public CurrentPlugin As Integer
  244. Public Brush As Boolean
  245. Public CurrentSpray As Integer
  246. Public Size As Integer
  247. Public Random As Boolean
  248. Public PrimaryColor As Long
  249. Public SecondaryColor As Long
  250. Public Dragging As Boolean
  251. Public Switch As Boolean
  252.  
  253. 'Private Sub chkRandom_Click()
  254. 'Random = chkRandom.Value ' Set the checkbox value to be in variable
  255. 'End Sub
  256.  
  257.  
  258.  
  259. Private Sub cmdClear_Click()
  260. picCanvas.Cls 'Clear the canvas
  261. End Sub
  262.  
  263. Private Sub cmdLeft_Click()
  264. CurrentPlugin = CurrentPlugin - 1 ' Decrement plugin counter
  265. If CurrentPlugin < 0 Then CurrentPlugin = PluginCount ' If counter is smaller than 0, set to count from last plugin
  266.  
  267. cmdPlugin.Caption = Plugins(CurrentPlugin) ' Write plugin name
  268.  
  269. pPluginName = IIf(Dir(App.Path & "\plugins\" & Plugins(CurrentPlugin) & ".bmp") = "", "unknown", Plugins(CurrentPlugin))
  270. cmdPlugin.Picture = LoadPicture(App.Path & "\plugins\" & pPluginName & ".bmp") ' Set plugin icon
  271.  
  272. End Sub
  273.  
  274. Private Sub cmdPlugin_Click()
  275. internal_SwitchPlugin Plugins(CurrentPlugin) ' Trigger switching event in plugin manager
  276. End Sub
  277.  
  278. Private Sub cmdRight_Click()
  279. CurrentPlugin = CurrentPlugin + 1
  280. If CurrentPlugin > PluginCount Then CurrentPlugin = 0
  281.  
  282. cmdPlugin.Caption = Plugins(CurrentPlugin)
  283.  
  284. pPluginName = IIf(Dir(App.Path & "\plugins\" & Plugins(CurrentPlugin) & ".bmp") = "", "unknown", Plugins(CurrentPlugin))
  285. cmdPlugin.Picture = LoadPicture(App.Path & "\plugins\" & pPluginName & ".bmp")
  286.  
  287. End Sub
  288.  
  289. Private Sub cmdSave_Click()
  290. SavePicture picCanvas.Image, App.Path & "\Saved images\Image captured " & Replace(Date, "/", "-") & " at " & Replace(Time, ":", "-") & "." & SaveType ' Save the picture. Filename has Time and Date stamp.
  291. cmdClear_Click
  292. End Sub
  293.  
  294. Private Sub cmdSprayer_Click(Index As Integer)
  295. On Error Resume Next
  296.  
  297. 'Set SprayerPict = LoadPicture(App.Path & "\sprayer\" & Index & "." & ShellType) ' Load an appropriate image for sprayer
  298. 'Set MaskPict = LoadPicture(App.Path & "\sprayer\" & Index & "_mask." & ShellType) ' Load an appropriate mask for sprayer
  299. Dim rnFName As String
  300.  
  301. For i = 1 To 5
  302.     rnFName = IIf(Dir(App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & Index & "_" & i & "." & ShellType) = "", App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & Index & "_1." & ShellType, App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & Index & "_" & i & "." & ShellType)
  303.     Set SprayerPict(i) = LoadPicture(rnFName)
  304.     
  305.     rnFName = IIf(Dir(App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & Index & "_" & i & "_mask." & ShellType) = "", App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & Index & "_1_mask." & ShellType, App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & Index & "_" & i & "_mask." & ShellType)
  306.     Set MaskPict(i) = LoadPicture(rnFName)
  307. Next i
  308.  
  309. picSprayer.Picture = SprayerPict(1) ' Show the user current sprayer picture, so he always see current picture
  310. Brush = False ' Turn off Brush mode
  311. End Sub
  312.  
  313. Private Sub Form_Load()
  314. On Error Resume Next
  315.  
  316. Open App.Path & "\sprayer\sprayers.cf" For Input As #1
  317.     Line Input #1, strnam
  318.     ReDim AllSprayers(1 To CInt(strnam))
  319.  
  320.     For i = 1 To CInt(strnam)
  321.         Line Input #1, strData
  322.         AllSprayers(i) = strData
  323.     Next i
  324. Close #1
  325.  
  326. SprayerCount = CInt(strnam)
  327.  
  328. ReDim Plugins(0 To PluginCount)
  329.  
  330. For i = 0 To PluginCount - 1
  331.     Plugins(i + 1) = Split(InstalledPlugins, ";")(i)
  332. Next i
  333.  
  334. Plugins(0) = "no plugin"
  335.  
  336. For i = 1 To 5
  337.     cmdSprayer(i).Picture = LoadPicture(App.Path & "\sprayer\Default\" & i & "_1." & ShellType) ' Set appropriate image to all sprayer commandbuttons (default imagesprayer set)
  338. Next i
  339.  
  340. cmdRight_Click
  341. cmdLeft_Click
  342.  
  343. imgSprRight_Click
  344. End Sub
  345.  
  346. Private Sub Form_Resize()
  347. On Error Resume Next
  348.  
  349. picCanvas.Move 120, TopConst, Me.Width - 120 * 3, Me.Height - 120 * 17 ' Align canvas
  350. 'If Me.WindowState = vbMaximized Then picCanvas.Move 0, TopConst, Screen.Width, Screen.Height ' I had some problems with aligning when window is maximized (width and height aren't showing real values) so we will align to Screen.Width and Height
  351. End Sub
  352.  
  353. Private Sub mnuPopupRandom_Click()
  354.  
  355. End Sub
  356.  
  357. Private Sub imgSprLeft_Click()
  358. On Error Resume Next
  359.  
  360. CurrentSprayer = CurrentSprayer - 1
  361. If CurrentSprayer < 1 Then CurrentSprayer = SprayerCount
  362.  
  363. For i = 1 To 5
  364.     cmdSprayer(i).Picture = LoadPicture(App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & i & "_1.bmp")
  365. Next i
  366.  
  367. lblSprayer.Caption = AllSprayers(CurrentSprayer)
  368. End Sub
  369.  
  370. Private Sub imgSprRight_Click()
  371. On Error Resume Next
  372.  
  373. CurrentSprayer = CurrentSprayer + 1
  374. If CurrentSprayer > SprayerCount Then CurrentSprayer = 1
  375.  
  376. Debug.Print CurrentSprayer
  377.  
  378. For i = 1 To 5
  379.     cmdSprayer(i).Picture = LoadPicture(App.Path & "\sprayer\" & AllSprayers(CurrentSprayer) & "\" & i & "_1.bmp")
  380. Next i
  381.  
  382.  
  383.     
  384. lblSprayer.Caption = AllSprayers(CurrentSprayer)
  385. End Sub
  386.  
  387. Private Sub picBrushPreview_Paint()
  388. hscSize_Change
  389. End Sub
  390.  
  391. 'Private Sub mnuPopupRandom_Click()
  392. 'mnuPopupRandom.Checked = Not (mnuPopupRandom.Checked) ' Invert the checked value
  393. 'chkRandom.Value = IIf(mnuPopupRandom.Checked, 1, 0) ' Set the checkbox value to our menu check value
  394. 'chkRandom_Click ' Trigger the click event to move checked value into variable
  395. 'End Sub
  396.  
  397. Private Sub picCanvas_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  398. OnCanvasMouseDown Button, Shift, CInt(X), CInt(Y)
  399.  
  400. If Button = vbRightButton Then
  401.     PopupMenu mnuPopup, , X * 15, Y * 15 + TopConst ' Popup menu if user clicks right button
  402.     Exit Sub ' Break sub, so it will not draw object
  403. End If
  404.  
  405. DrawShelledObject X, Y ' Draw the object on X and Y
  406. Dragging = True ' Set global dragging variable to true
  407. OnStartDragging CInt(X), CInt(Y), Shift
  408. End Sub
  409.  
  410. Sub SprayPict(X As Single, Y As Single, Picture As IPictureDisp, MaskPict As IPictureDisp, ByRef pic As PictureBox)
  411. On Error GoTo handle_errormessage
  412. pic.PaintPicture MaskPict, X, Y, , , , , , , vbMergePaint ' Paint mask on canvas
  413. pic.PaintPicture Picture, X, Y, , , , , , , vbSrcAnd ' Paint picture on canvas
  414.  
  415. handle_errormessage:
  416. Exit Sub
  417. End Sub
  418.  
  419. Sub BrushSpray(X As Single, Y As Single, Size As Integer, Color As Long, pic As PictureBox)
  420. On Error Resume Next
  421. Dim BeforeDWidth As Integer
  422.  
  423. BeforeDWidth = pic.DrawWidth ' Set this variable to current drawwidth
  424.  
  425. pic.DrawWidth = Size ' Set drawwidth to shelled size
  426. pic.PSet (X, Y), Color ' Spray the dot of size and color
  427.  
  428. pic.DrawWidth = BeforeDWidth ' Return the previous drawwidth
  429.  
  430. End Sub
  431.  
  432. Sub DrawShelledObject(X As Single, Y As Single)
  433. Dim pX As Long
  434. Dim pY As Long
  435. Dim bSkip As Boolean
  436.  
  437. pX = X
  438. pY = Y
  439.  
  440. If Brush Then
  441.     OnDrawBrush pX, pY, PrimaryColor, SecondaryColor, CLng(Size), Switch, 0, bSkip
  442.     If bSkip = True Then Exit Sub
  443.     
  444.     BrushSpray X, Y, Size, PrimaryColor, picCanvas ' Spray brush
  445.     If Switch Then BrushSpray X, Y, Size, SecondaryColor, picCanvas ' If is turn when drawing in secondary color, just overwrite with secondary color
  446.     If Random Then BrushSpray X, Y, Size, RGB(Rnd * 255, Rnd * 255, Rnd * 255), picCanvas ' If random colors, overwrite with random color
  447.     Switch = Not (Switch) ' Invert switch ( change turn )
  448. Else
  449.     CurrentSpray = CurrentSpray + 1
  450.     If CurrentSpray > 5 Then CurrentSpray = 1
  451.     
  452.     OnImageSpray 0, pX, pY, SprayerPict(CurrentSpray), MaskPict(CurrentSpray), 0, bSkip
  453.     If bSkip = True Then Exit Sub
  454.     
  455.     SprayPict X, Y, SprayerPict(CurrentSpray), MaskPict(CurrentSpray), picCanvas ' If we have Image Sprayer, spray picture on coords
  456. End If
  457.  
  458. End Sub
  459.  
  460. Private Sub hscSize_Change()
  461. picBrushPreview.Cls ' Clear brush preview
  462. BrushSpray picBrushPreview.Width / 2, picBrushPreview.Height / 2, hscSize.Value, vbBlack, picBrushPreview ' Draw brush preview on picBrushPreview
  463. Size = hscSize.Value ' Change size
  464. End Sub
  465.  
  466. Private Sub mnuPopupPrimaryColor_Click()
  467. cdlColor.Color = PrimaryColor ' Set the default color to old primary color
  468. cdlColor.ShowColor ' Show color select dialog
  469. PrimaryColor = cdlColor.Color ' Set primary color to selected color
  470. End Sub
  471.  
  472. Private Sub mnuPopupSecondaryColor_Click()
  473. cdlColor.Color = SecondaryColor '  Same thing, just with secondary color
  474. cdlColor.ShowColor
  475. SecondaryColor = cdlColor.Color
  476. End Sub
  477.  
  478. Private Sub picBrushPreview_Click()
  479. Brush = True ' Activate brush
  480. End Sub
  481.  
  482. Private Sub picCanvas_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  483. OnCanvasMouseMove Button, Shift, CInt(X), CInt(Y)
  484.  
  485. If Dragging Then
  486.     DrawShelledObject X, Y ' If dragging, draw selected object on coords
  487. End If
  488.  
  489. End Sub
  490.  
  491. Private Sub picCanvas_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  492. OnCanvasMouseUp Button, Shift, CInt(X), CInt(Y)
  493.  
  494. Dragging = False ' Turn off dragging
  495. OnStopDragging CInt(X), CInt(Y), Shift
  496. End Sub
  497.  
  498.  
  499.