INSTALL @lib$+"WINLIB5A"
      INSTALL @lib$+"MULTIWIN"
      PROC_multiwin(4)
      ON CLOSE PROCcleanup : QUIT
      ON ERROR ON ERROR OFF : PROCcleanup : PRINT 'REPORT$ : END
      hw1% = FN_createwin(1, "Window one", 100, 100, 600, 600, 0, &96C00000, 0)
      hw2% = FN_createwin(2, "Window two", 200, 200, 400, 300, 0, &96C00000, 0)
      hw3% = FN_createwin(3, "Window three", 300, 300, 400, 300, 0, &96C00000, 0)
      hw4% = FN_createwin(4, "Window four", 400, 400, 400, 300, 0, &96C00000, 0)
      PROC_selectwin(1)
      *FONT Ariel,12,B
      COLOUR 4
      PROC_selectwin(4)
      VDU 23,23,3;0;0;0;
      PROC_selectwin(1)
      SYS"SetWindowPos",hw1%,0,0,0,400,300,6
      VDU 26
      B%=0 : M%=0
      REPEAT
        WAIT 20
  
        PROC_selectwin(1)
        COLOUR RND(15)-1
        PRINT '"Hello world!";N%;
  
        PROC_selectwin(2)
        GCOL RND(15)-1
        RECTANGLE FILL RND(800),RND(600),RND(800),RND(600)
  
        PROC_selectwin(3)
        GCOL RND(15)-1
        CIRCLE FILL RND(800), RND(600), RND(200)
  
        PROC_selectwin(4)
        GCOL RND(15)-1
        DRAW RND(800), RND(600)
  
        PROC_selectwin(0)
        PRINT '"Main window "; N%;
        N% += 1
  
        IF N%-M%=30 THEN
          M%=N%
          CASE B% OF
            WHEN 0
              PROC_closewin(1)
              hw1% = FN_createwin(1, "No title", 100, 100, 600, 400, 0, &96400000, 0)
              B%=1
        
            WHEN 1
              PROC_selectwin(1)
              SYS"SetWindowPos",hw1%,0,0,0,300,200,6
              VDU 26 : REM CLS
              B%=2
        
            WHEN 2
              PROC_selectwin(1)
              SYS"SetWindowPos",hw1%,0,0,0,400,300,6
              VDU 26 : REM CLS
              B%=3
        
            WHEN 3
              PROC_selectwin(1)
              SYS"SetWindowPos",hw1%,0,0,0,500,400,6
              VDU 26 : REM CLS
              B%=4
        
            WHEN 4
              PROC_closewin(1)
              hw1% = FN_createwin(1, "New title of today "+TIME$, 100, 100, 400, 300, 0, &96C00000, 0)
              B%=0
          ENDCASE
        ENDIF
  
      UNTIL FALSE
      PROCcleanup
      END
      DEF PROCcleanup
      PROC_selectwin(0)
      PROC_closewin(1)
      PROC_closewin(2)
      PROC_closewin(3)
      PROC_closewin(4)
      ENDPROC