First; i'm not so good at English so probably I will mistake a lot of grammar. Anyway I will try to introduce the code.
This programm is an easy code to make buttons for your programs (probable you will need to add a "SYNC" in the FUNCTION PulsarBoton (Press Button) if you try to add this into your programms).
The mechanical is simple. You press returnkey, and the programm will create a random button that you can Press with the mouse left click.
I hope you'll like it. And sorry about my English.
REM Botones V3
REM Creado: 05/06/2013 18:14:52
REM Creado por Julio Jesús Sánchez Barreda
REM ***** Archivo de Código Fuente Principal *****
TYPE db
x
y
sx
sy
mensaje$
ENDTYPE
dim Boton(Crear) as db
DO
CENTER TEXT 320,420,"Press return to create a random button"
IF returnkey()=1 THEN GOSUB Crear
FOR A=1 TO Crear
IF mousex()>Boton(A).X and mousex()<(Boton(A).SX+Boton(A).X) and mousey()>Boton(A).Y and mousey()<(Boton(A).SY+Boton(A).Y) and mouseclick()=1 THEN PulsarBoton(A)
NEXT A
LOOP
Crear:
inc crear,1
dim Boton(crear) as db
HacerBoton(RND(600),RND(300),10+RND(30),20+RND(60),STR$(Crear),Crear)
WAIT 200
RETURN
FUNCTION HacerBoton(PosX,PosY,SizeX,SizeY,texto$,Botoncode)
Boton(Botoncode).X=PosX : Boton(Botoncode).Y=PosY
Boton(Botoncode).SX=SizeX : Boton(Botoncode).SY=SizeY
Boton(Botoncode).mensaje$=texto$
INK RGB(170,170,170),0 : BOX PosX,PosY,PosX+SizeX,PosY+SizeY
INK RGB(192,192,192),0 : BOX PosX+2,PosY+2,PosX+SizeX-2,PosY+SizeY-2
INK RGB(255,255,255),0 : CENTER TEXT PosX+(SizeX/2),PosY+(SizeY/2-(Text Size()/2)),texto$
ENDFUNCTION
FUNCTION PulsarBoton(Botoncode)
PosX=Boton(Botoncode).X : PosY=Boton(Botoncode).Y
SizeX=Boton(Botoncode).SX : SizeY=Boton(Botoncode).SY
Texto$=Boton(Botoncode).mensaje$
INK RGB(150,150,150),0 : BOX PosX,PosY,PosX+SizeX,PosY+SizeY
INK RGB(182,182,182),0 : BOX PosX+2,PosY+2,PosX+SizeX-2,PosY+SizeY-2
INK RGB(205,205,205),0 : CENTER TEXT PosX+(SizeX/2),PosY+(SizeY/2-(Text Size()/2)),texto$
WAIT 600
INK RGB(160,160,160),0 : BOX PosX,PosY,PosX+SizeX,PosY+SizeY
INK RGB(192,192,192),0 : BOX PosX+2,PosY+2,PosX+SizeX-2,PosY+SizeY-2
INK RGB(255,255,255),0 : CENTER TEXT PosX+(SizeX/2),PosY+(SizeY/2-(Text Size()/2)),texto$
ENDFUNCTION
Sorry. I´m not speak English very well.