WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Boxes Examples from Users

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Todd's Drawing Program using Boxes Functions

Keywords:  todd's drawing program

Errormode(@off)

:DoBEGIN
Display(1,"Drawing Program","Did you know this program was written by Todd?")
WHITE="255,255,255"
RED="255,0,0"
PURPLE="255,0,255"
DKPURPLE="128,0,128"
DKYELLOW="128,128,0"
CYAN="0,255,255"
DKCYAN="0,128,128"
DKBLUE="0,0,128"
BLUE="0,0,255"
LTGRAY="192,192,192"
GRAY="128,128,128"
GREEN="0,255,0"
DKGREEN="0,128,0"
YELLOW="255,255,0"
BLACK="0,0,0"
LTPURPLE="255,128,255"
DKRED="128,0,0"
BROWN="128,64,64"
DKGRAY="64,64,64"
ORANGE="255,128,0"
FAMILY=16
FONT="Bookman Old Style"

BoxCaption(1,"Press Button to Draw")
BoxesUp("0,0,1000,1000",@zoomed)
BoxNew(1,"0,0,1000,1000",2)
:FailSafe
PnWid=1
PnClr=BLACK
Gosub DoBrushBox
Gosub DoColor1
Gosub DoColor2
Gosub DoDivider
Gosub DoMenuBox
olda="500,500"
exclusive(@ON)
BoxDataTag(1,"Tag1")
while 1
        if BoxButtonStat(7,1)== 1 then goto DoBegin
        if BoxButtonStat(7,2)== 1 then goto END1
        if BoxButtonStat(7,3)== 1 then gosub DoPrint
        if BoxButtonStat(7,4)== 1 then gosub DoSave
        if BoxButtonStat(3,1)== 1 then pnClr=WHITE
        if BoxButtonStat(3,2)== 1 then pnClr=BLACK
        if BoxButtonStat(3,3)== 1 then pnClr=LTGRAY
        if BoxButtonStat(3,4)== 1 then pnClr=GRAY
        if BoxButtonStat(3,5)== 1 then pnClr=DKGRAY
        if BoxButtonStat(3,6)== 1 then pnClr=RED
        if BoxButtonStat(3,7)== 1 then pnClr=DKRED
        if BoxButtonStat(3,8)== 1 then pnClr=GREEN
        if BoxButtonStat(3,9)== 1 then pnClr=DKGREEN
        if BoxButtonStat(3,10)== 1 then pnClr=ORANGE
        if BoxButtonStat(4,1)== 1 then pnClr=BLUE
        if BoxButtonStat(4,2)== 1 then pnClr=DKBLUE
        if BoxButtonStat(4,3)== 1 then pnClr=YELLOW
        if BoxButtonStat(4,4)== 1 then pnClr=DKYELLOW
        if BoxButtonStat(4,5)== 1 then pnClr=BROWN
        if BoxButtonStat(4,6)== 1 then pnClr=CYAN
        if BoxButtonStat(4,7)== 1 then pnClr=DKCYAN
        if BoxButtonStat(4,8)== 1 then pnClr=LTPURPLE
        if BoxButtonStat(4,9)== 1 then pnClr=PURPLE
        if BoxButtonStat(4,10)== 1 then pnClr=DKPURPLE
        if BoxButtonStat(5,1)== 1 then PnWid="1"
        if BoxButtonStat(5,2)== 1 then PnWid="5"
        if BoxButtonStat(5,3)== 1 then PnWid="10"
        if BoxButtonStat(5,4)== 1 then PnWid="20"
        if BoxButtonStat(5,5)== 1 then PnWid="35"
        a=MouseInfo(6)
        a=strreplace(a," ",",")
        BoxPen(1,pnClr,PnWid)
        If MouseInfo(4) == 4 then BoxDrawLine(1,"%olda%,%a%")
        BoxDataClear(1,"Tag1")
        olda=a
endwhile

:DoBrushBox
   BoxNew(5,"800,800,1000,1000",1)
   BoxColor(5,WHITE,0)
   BoxDrawRect(5,"0,0,1000,1000",2)
   BoxDrawText(5, "0,10,200,300", "Brush",@TRUE, 0)
   BoxButtonDraw(5,1,"Tiny",            "350,0,650,200")
   BoxButtonDraw(5,2,"Small",           "275,200,725,400")
   BoxButtonDraw(5,3,"Big",             "200,400,800,600")
   BoxButtonDraw(5,4,"Bigger",          "125,600,875,800")
   BoxButtonDraw(5,5,"Biggest",         "50,800,950,1000")
Return

:DoColor1
   BoxNew(3,"0,800,350,1000",0)
   BoxColor(3,WHITE,0)
   BoxDrawRect(3,"0,0,1000,1000",0)
   BoxButtonDraw(3,1,"","200,50,300,150")
   BoxColor(3,WHITE,0)
   BoxDrawRect(3,"0,0,500,200",1)
   BoxButtonDraw(3,2,"","200,250,300,350")
   BoxColor(3,BLACK,0)
   BoxDrawRect(3,"0,200,500,400",2)
   BoxButtonDraw(3,3,"","200,450,300,550")
   BoxColor(3,LTGRAY,0)
   BoxDrawRect(3,"0,400,500,600",2)
   BoxButtonDraw(3,4,"","200,650,300,750")
   BoxColor(3,GRAY,0)
   BoxDrawRect(3,"0,600,500,800",2)
   BoxButtonDraw(3,5,"","200,850,300,950")
   BoxColor(3,DKGRAY,0)
   BoxDrawRect(3,"0,800,500,1000",2)
   BoxButtonDraw(3,6,"","700,50,800,150")
   BoxColor(3,RED,0)
   BoxDrawRect(3,"500,0,1000,200",2)
   BoxButtonDraw(3,7,"","700,250,800,350")
   BoxColor(3,DKRED,0)
   BoxDrawRect(3,"500,200,1000,400",2)
   BoxButtonDraw(3,8,"","700,450,800,550")
   BoxColor(3,GREEN,0)
   BoxDrawRect(3,"500,400,1000,600",2)
   BoxButtonDraw(3,9,"","700,650,800,750")
   BoxColor(3,DKGREEN,0)
   BoxDrawRect(3,"500,600,1000,800",2)
   BoxButtonDraw(3,10,"","700,850,800,950")
   BoxColor(3,ORANGE,0)
   BoxDrawRect(3,"500,800,1000,1000",2)
RETURN

:DoColor2
   BoxNew(4,"350,800,700,1000",0)
   BoxColor(4,WHITE,0)
   BoxDrawRect(4,"0,0,1000,1000",0)
   BoxButtonDraw(4,1,"","200,50,300,150")
   BoxColor(4,BLUE,0)
   BoxDrawRect(4,"0,0,500,200",1)
   BoxButtonDraw(4,2,"","200,250,300,350")
   BoxColor(4,DKBLUE,0)
   BoxDrawRect(4,"0,200,500,400",2)
   BoxButtonDraw(4,3,"","200,450,300,550")
   BoxColor(4,YELLOW,0)
   BoxDrawRect(4,"0,400,500,600",2)
   BoxButtonDraw(4,4,"","200,650,300,750")
   BoxColor(4,DKYELLOW,0)
   BoxDrawRect(4,"0,600,500,800",2)
   BoxButtonDraw(4,5,"","200,850,300,950")
   BoxColor(4,BROWN,0)
   BoxDrawRect(4,"0,800,500,1000",2)
   BoxButtonDraw(4,6,"","700,50,800,150")
   BoxColor(4,CYAN,0)
   BoxDrawRect(4,"500,0,1000,200",2)
   BoxButtonDraw(4,7,"","700,250,800,350")
   BoxColor(4,DKCYAN,0)
   BoxDrawRect(4,"500,200,1000,400",2)
   BoxButtonDraw(4,8,"","700,450,800,550")
   BoxColor(4,LTPURPLE,0)
   BoxDrawRect(4,"500,400,1000,600",2)
   BoxButtonDraw(4,9,"","700,650,800,750")
   BoxColor(4,PURPLE,0)
   BoxDrawRect(4,"500,600,1000,800",2)
   BoxButtonDraw(4,10,"","700,850,800,950")
   BoxColor(4,DKPURPLE,0)
   BoxDrawRect(4,"500,800,1000,1000",2)
RETURN

:DoDivider
   BoxNew(6,"0,760,1000,800",0)
   BoxColor(6,BLACK,0)
   BoxDrawRect(6,"0,0,1000,1000",2)
RETURN

:DoMenuBox
   BoxNew(7,"700,800,800,1000",0)
   BoxColor(7,BLACK,0)
   BoxDrawRect(7,"0,0,1000,1000",2)
   BoxButtonDraw(7,1,"&Clear",    "50,0,950,225")
   BoxButtonDraw(7,2,"E&xit",     "50,250,950,475")
   BoxButtonDraw(7,3,"&Print",    "50,500,950,725")
   BoxButtonDraw(7,4,"&Save",     "50,750,950,975")
RETURN

:DoPrint
   BoxDestroy(3)
   BoxDestroy(4)
   BoxDestroy(5)
   BoxDestroy(6)
   BoxDestroy(7)
   WinActivate("Press Button to")
   SnapShot(1)
   Run("Wordpad.exe","")
   WinWaitExist("~WordPad",20)
   If WinExist("~WordPad") == @FALSE then
      Message("ERROR","Hmmm.  Wordpad didn't work.  Better have that checked out.")
      RETURN
   EndIf
   SendKeysTo("~WordPad","^v^p")
   WinWaitExist("Print",20)
   If WInExist("Print") == @FALSE then
      Message("ERROR","Hmmm.  Printer not working.  Maybe install one???")
      RETURN
   EndIf
   SendKeysTo("Print","~")
   SendKeysTo("~WordPad","!fx")
   If WinWaitExist("WordPad",20)
   SendKeysTo("WordPad","!n")
   Gosub DoBrushBox
   Gosub DoColor1
   Gosub DoColor2
   Gosub DoDivider
   Gosub DoMenuBox
RETURN

:DoSave
   BoxDestroy(3)
   BoxDestroy(4)
   BoxDestroy(5)
   BoxDestroy(6)
   BoxDestroy(7)
   WinActivate("Press Button to")
   SnapShot(1)
   SaveName=AskFileName("Type a name for this picture", "C:\", "*.*|*.BMP", "MyPic.BMP", 0)
   WinActivate("Press Button to")
   size=BinaryClipGet(0,8)
   bb=BinaryAlloc(size)
   BinaryClipGet(bb,8)
   bb2=BinaryAlloc(size+14)
   BinaryPokeStr(bb2,0,"BM")
   BinaryPoke4(bb2,2,size+14)
   tableloc=BinaryPeek4(bb,0)+14
   BinaryPoke4(bb2,10,tableloc)
   BinaryCopy(bb2,14,bb,0,size)
   BinaryWrite(bb2,SaveName)
   BinaryFree(bb)
   BinaryFree(bb2)
   Gosub DoBrushBox
   Gosub DoColor1
   Gosub DoColor2
   Gosub DoDivider
   Gosub DoMenuBox
RETURN

:CANCEL
WinActivate("Press Button to")
goto FailSafe

:END1
exclusive(@OFF)
Exit



Article ID:   W14399
Filename:   Drawing Program -2 by Todd.txt
File Created: 1999:11:04:17:21:18
Last Updated: 1999:11:04:17:21:18