Try this, there is a small pause when clicking the green button though.
Rem Project: Dark Basic Pro Project
Rem Created: Saturday, July 23, 2011
Rem ***** Main Source File *****
MAXIMIZE = 0
SET WINDOW POSITION 0,0
DO
//MINIMIZE BUTTON - RED
INK RGB (255,0,0)
BOX 10,10,30,30
IF MOUSEX() > 10 AND MOUSEX() < 10 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1
MINIMIZE WINDOW
ENDIF
ENDIF
//MAXIMIZE BUTTON - GREEN
INK RGB (0,255,0)
BOX 40,10,60,30
IF MOUSEX() > 40 AND MOUSEX() < 40 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1 AND MAXIMIZE = 0
set display mode 1074, 768, 32
MAXIMIZE = 1
wait 1000
ENDIF
ENDIF
// RESTORE BUTTON - GREEN
IF MOUSEX() > 40 AND MOUSEX() < 40 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1 AND MAXIMIZE = 1
set display mode 640, 480, 32
MAXIMIZE = 0
wait 1000
ENDIF
ENDIF
//CLOSE BUTTON - BLUE
INK RGB (0,0,255)
BOX 70,10,90,30
IF MOUSEX() > 70 AND MOUSEX() < 70 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1
END
ENDIF
ENDIF
LOOP
Edit - got rid of the pause
Rem Project: Dark Basic Pro Project
Rem Created: Saturday, July 23, 2011
Rem ***** Main Source File *****
MAXIMIZE = 0
SET WINDOW POSITION 0,0
gb_clicked as boolean
DO
//MINIMIZE BUTTON - RED
INK RGB (255,0,0)
BOX 10,10,30,30
IF MOUSEX() > 10 AND MOUSEX() < 10 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1
MINIMIZE WINDOW
ENDIF
ENDIF
//MAXIMIZE BUTTON - GREEN
INK RGB (0,255,0)
BOX 40,10,60,30
IF MOUSEX() > 40 AND MOUSEX() < 40 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1 AND MAXIMIZE = 0 and gb_clicked = 0
set display mode 1074, 768, 32
MAXIMIZE = 1
gb_clicked = 1
ENDIF
ENDIF
// RESTORE BUTTON - GREEN
IF MOUSEX() > 40 AND MOUSEX() < 40 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1 AND MAXIMIZE = 1 and gb_clicked = 0
set display mode 640, 480, 32
MAXIMIZE = 0
gb_clicked = 1
ENDIF
ENDIF
// reset gb_clicked
if mouseclick()=0 then gb_clicked = 0
//CLOSE BUTTON - BLUE
INK RGB (0,0,255)
BOX 70,10,90,30
IF MOUSEX() > 70 AND MOUSEX() < 70 + 20 AND MOUSEY() > 10 AND MOUSEY() < 10 + 20
IF MOUSECLICK()=1
END
ENDIF
ENDIF
LOOP
However, when I tried to implement the "sed windows position 0,0" bit it started to play up with the minimize so a possible bug could lie there.