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; |
} |