- myofn.h の追加
- myofn.cpp の追加
-- library として comdlg32.lib が必要になるはず
-- commdlg.h が必要だが windows.h に含まれているはず

- myapp.h
-- CMyOfn m_ofnOpen と m_ofnSave を public member として追加
-- BOOL GetDoc(const TCHAR* szName) を追加。
- myapp.cpp
-- Run() の一部を切り出し、GetDoc() とし、Run() もこれを呼ぶようにする。

- mywin.h
-- InvalidateRect() を追加。
- mywin.cpp
-- InvalidateRect() を実装。

- myappwin.h
-- ReDraw() を追加。GetDoc() 完了時に呼び出す。

- myappwin.cpp
-- OnCommand で IDM_FILE_OPEN に対する処理を追加。
-- ReDraw 処理を実装

- resource.rc
-- IDM_FILE_OPEN の GRAYED をとる。

-----------------------------------------------------------------------
拡張子と一致しない contents の場合、CMyDjpeg で重大エラーが起こる。
その対策の前に、CMyReader を導入し、内容を check できるようにしたい。
  CMyReader(const TCHAR* szName)
で、1 block 分読むか NextBlock() を用意。更に BlockPtr と BlockLen を
用意すれば、内容 check ができる。
NextBlock() 方式にしよう。
NextBlock() は整数値を返す。

NextBlock() では、m_nRead == 0 で m_nFilled > 0 の時は読まない。
Read() では、
m_nFilled > m_nRead の時
  nReady = m_nFilled - m_nRead;
  if(nReady > nReq)
    nReq だけ詰めて、m_nRead += nReq;
  else
    nReady だけ詰めて、nReq - nReady だけ本当に Read();
そうでなければ本当に Read()
