rem This code only supports a maximum of 5 windows...
rem Before making a new Window you must move the old one to the right, so
rem that elements of the new window don't get 'sticky' and stay in a wrong one.

  DIALOG CREATE,Multi Document Interface,-1,0,681,360
  rem If you get the REM lines in :Createwindow working, you can remove
  rem the next:
  DIALOG ADD,STYLE,TITLESTYLE,Courier New,,B,,WHITE
  DIALOG ADD,STYLE,BACKGROUNDSTYLE,,,,GRAY,
  DIALOG ADD,GROUP,BACKGROUNDGROUP,28,0,682,314,,,BACKGROUNDSTYLE
  DIALOG ADD,MENU,File,New,Open,Save,Save As,Close,-,Exit
  DIALOG ADD,MENU,Extra
  DIALOG ADD,MENU,Help,About,Help
  DIALOG ADD,GROUP,MENUGROUP,0,0,682,28
  DIALOG ADD,BUTTON,NEW,2,2,64,24,New
  DIALOG ADD,BUTTON,OPEN,2,70,64,24,Open
  DIALOG ADD,BUTTON,SAVE,2,138,64,24,Save
  DIALOG ADD,STATUS,STATUS1
  DIALOG ADD,TEXT,TEXT1,8,426,,,TEXT1,,STYLE1
  DIALOG ADD,TEXT,BACKGROUNDCOLOR,28,0,680,312,,,BACKGROUNDSTYLE,CLICK
  DIALOG SHOW


rem             Name   |number|top|left|wid|hei|value|close?|styles
%%MDISettings = WINDOW1|1     |50 |50  |250|200|     |close |multi|wrap|scroll|tabs
rem Number is the window number. You can use random ones.
rem In value you can give up the value that the edit must have.
rem The Close parameter is to give the window a Close-button. When pressed, it makes a
rem   WindownameCLOSEBUTTON event.
rem The Styles are the styles for the edit box.
gosub Createwindow


:Evloop
wait event
%%event = @event()
goto %%event

:NewBUTTON
:NewMENU
%%MDISettings = Window@succ(%%number)|@succ(%%number)|50|@fadd(50,%%number)|250|200||close|multi|wrap|scroll|tabs
gosub Createwindow
goto evloop

:OpenBUTTON
:OpenMENU
%%file = @filedlg()
if @not(@equal(%%file,))
list create,9
list loadfile,9,%%file
%%MDISettings = Window@succ(%%number)|@succ(%%number)|50|@fadd(50,%%number)|250|200||close|multi|wrap|scroll|tabs
gosub Createwindow
%%var1 = 0
repeat
dialog set,%%name"EDIT",@dlgtext(%%name"EDIT")@cr()@chr(10)@item(9,%%var1)
%%var1 = @succ(%%var1)
until @equal(%%var1,@count(9))
list close,9
dialog set,%%name"TITLE",@name(%%file)
end
goto evloop

:SaveBUTTON
:SaveMENU
:Save AsMENU
%%file = @filedlg(,,,SAVE)
if @not(@equal(%%file,))
list create,9
list add,@dlgtext(%%name"EDIT")
list close,9
end
goto evloop

:CloseMENU
dialog remove,%%name
goto evloop

:ExitMENU
goto Close
exit

:AboutMENU
:HelpMENU
info Maybe another time??? Made by Skit 3000.
goto evloop

:Window1CLOSEBUTTON
:Window2CLOSEBUTTON
:Window3CLOSEBUTTON
:Window4CLOSEBUTTON
:Window5CLOSEBUTTON
rem Use this to remove a MDI-window
dialog remove,@substr(%%event,1,@pred(@pos(CLOSEBUTTON,%%event)))
goto evloop

:BACKGROUNDCOLORCLICK
rem This is to stop the REPEAT loop which moves the window...
goto evloop

:Close
exit

rem -------------------------------------------------------------------------
rem The next is to move a Window. You can make it very short by making a routin in
rem the Evloop...

:Window1gradientbarclick
:Window1titleclick
%%MDIWindowname = Window1
goto Movewindow
:Window2titleclick
:Window2gradientbarclick
%%MDIWindowname = Window2
goto Movewindow
:Window3titleclick
:Window3gradientbarclick
%%MDIWindowname = Window3
goto Movewindow
:Window4titleclick
:Window4gradientbarclick
%%MDIWindowname = Window4
goto Movewindow
:Window5titleclick
:Window5gradientbarclick
%%MDIWindowname = Window5
goto Movewindow

:Movewindow
rem This moves the window, that must be named in %%MDIWindowname
%%beginx = @fadd(@dlgpos(%%MDIWindowname,L),@dlgpos(,L))
%%beginy = @fadd(@dlgpos(%%MDIWindowname,T),@dlgpos(,T))
repeat
dialog setpos,%%MDIWindowname,@diff(@mousepos(Y),%%beginy),@diff(@mousepos(X),%%beginx)
until @event()
goto evloop

:Createwindow
option fieldsep,|
parse "%%name;%%number;%%top;%%left;%%width;%%height;%%value;%%close;%%style1;%%style2;%%style3;%%style4;%%style5",%%MDISettings
DIALOG ADD,GROUP,%%name,%%top,%%left,%%width,%%height
DIALOG ADD,GRADIENT,%%name"GRADIENTBAR",%%top,@succ(%%left),@diff(%%width,2),20,404040,BLUE,,LEFTTORIGHT,CLICK
DIALOG ADD,EDIT,%%name"EDIT",@fadd(%%top,19),%%left,%%width,@diff(%%height,19),%%value,,%%style1,%%style2,%%style3,%%style4,%%style5
DIALOG ADD,STYLE,%%name"TOPSTYLE",Courier New,10,B,C
rem Next 2 lines don't work... Don't know why...
rem DIALOG ADD,STYLE,%%name"TITLESTYLE",Courier New,,B,,WHITE
rem DIALOG ADD,TEXT,%%name"TITLE",@fadd(%%top,3),@fadd(%%left,10),,,%%name,,%%name"TITLESTYLE",TRANSPARENT
rem That's why I made the next one...
DIALOG ADD,TEXT,%%name"TITLE",@fadd(%%top,3),@fadd(%%left,10),,,%%name,,TITLESTYLE,TRANSPARENT,CLICK
if @equal(%%close,close)
DIALOG ADD,BUTTON,%%name"CLOSE",@fadd(%%top,2),@fadd(%%left,@diff(%%width,20)),17,15,X,Close,%%name"TOPSTYLE"
end
exit