DclNewFrameは, 新しい描画領域を設定する役割をもっています. このルーチンは図を描く前に必ず呼ばなければなりませんが, 2回目以降は「改ページ」の操作になります. これを繰り返し用いれば何枚も図をかくことができます.
このように描いた図は, ウィンドウ・紙1ページに1つずつ描かれます. 複数の図を1ページに沢山並べたい時には, DclDivideFrameを使うと非常に簡単にできます. このルーチンは, DclOpenGraphicsよりも後, DclNewFrameよりも前に呼びます. 最初の引数で割り付ける方向を指定します. 'Y' ならば横方向に, 'T' ならば縦方向に割り付けられます. 次の引数で, 縦・横の分割数を指定します.
このように分割されたフレームは, それ以降は1枚のウィンドウ・紙のように扱われます. 
したがって
文字の大きさも分割されたフレームの大きさに応じて小さくなっていることに注意してください. 
DclDivideFrameは2回まで呼ぶことができて, 
分割されたフレームをさらにもう一度分割することが可能です.   
  
  
| 
program multi
  use dcl
  character(len=7) :: ctxt = 'frame??'
    call DclOpenGraphics()
    call DclSetFrameMargin( 0.1, 0.1, 0.05, 0.05 )
    call DclDivideFrame( 'y', 3, 2 )
    call DclSetFrameMargin( 0.05, 0.05, 0.05, 0.05 )
    do i=1,12
      call DclNewFrame
      call DclSetViewPort( 0.1,0.9,0.1,0.9 )
      call DclDrawViewPortFrame( 1 )
      write(ctxt(6:7),'(i2.2)') i
      call DclDrawTextNormalized( 0.5, 0.5, ctxt )
    end do
    call DclCloseGraphics
end program
 | 
|  | 
|  | 
| DclDivideFrame (SLDIV) | フレームを分割する. | 
| DclSetFrameMargin (SLMGN) | マージンを設定する. | 
| DclDrawViewPortFrame (SLPVPR) | ビューポートの枠を描く. |