| m_lineIndex | 直線の本数 |
| m_points[100][2] | 直線の頂点の座標 |
| counter | 直線の開始時点で値が 0, 直線の終了時点で値 1 |
但し、座標が m_points[i][0] の点と座標が m_points[i][1] の点を結んで i 番目の直線ができるものとする。
Document クラス、View クラスのいずれにも宣言することができる。但し、どちらからもアクセスできるように、public で宣言する必要がある。ここでは Document クラスで宣言することにする。Fileタブ
Header Files
line1Doc.h に次のような書き込みをする。
| class CLine1Doc : public CDocument |
| { |
| protected: // シリアライズ機能のみから作成します。 |
| CLine1Doc(); |
| DECLARE_DYNCREATE(CLine1Doc) |
| // アトリビュート |
| public: |
| int counter; |
| int m_lineIndex; |
| CPoint m_points[100][2]; |
CPoint は点の座標を表すための構造体で、点 m_points[i][j] の表す x 座標、y 座標は
| m_points[i][j].x |
| m_points[i][j].y |
によってアクセスすることができる。x 座標、y 座標共に 整数型である。
Document クラスが構築されるときに、変数を初期化する必要がある。そのために。Fileタブ
Source Files
line1Doc.cpp に次のような書き込みをする。この箇所はクラスのコンストラクターと呼ばれクラスが構築されるときに必ず一回実行される。
| ///////////////////////////////////////////////////////// |
| // CLine1Doc クラスの構築/消滅 |
| CLine1Doc::CLine1Doc() |
| { |
| // TODO: この位置に1回だけ構築用のコードを追加してください。 |
| counter = 0; |
| m_lineIndex = 0; |
| } |
また実行時のメニューの『ファイル/新規』で初期状態に戻すために lineDoc.cpp に次のような書き込みをします。
| BOOL CLine1Doc::OnNewDocument() |
| { |
| if (!CDocument::OnNewDocument()) |
| return FALSE; |
| // TODO: この位置に再初期化処理を追加してください。 |
| // (SDI ドキュメントはこのドキュメントを再利用します。) |
| counter = 0; |
| m_lineIndex = 0; |
| return TRUE; |
| } |