掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Invalidateを定義するには? (ID:70474)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>足りないところがあるのでしょうか? 比べる物がないので何が足りないか分かりませんので 提示のHPより必要な物を抜き出してみました。 結論を言うとうまく動きましたよ。 新規でプロジェクトを作成して試してみてください。 ●の部分の追加のみでうまくいくはずです。 新規プロジェクト名 Line LineDoc.h // アトリビュート public: ●int counter; ●int m_lineIndex; ●CPoint m_points[100][2]; を追加 LineDoc.cpp CLineDoc::CLineDoc() { // TODO: この位置に1度だけ呼ばれる構築用のコードを追加してください。 ●counter = 0; ●m_lineIndex = 0; } を追加 LineView.cpp void CLineView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください ● CLineDoc* pDoc = GetDocument(); ● ASSERT_VALID(pDoc); ● if(pDoc->m_lineIndex == 100) return; ● pDoc->m_points[pDoc->m_lineIndex][pDoc->counter] = point; ● pDoc->counter++; ● if(pDoc->counter == 2){ ● pDoc->m_lineIndex++; ● pDoc->counter = 0; ● pDoc->SetModifiedFlag(); ● Invalidate(); ● } CView::OnLButtonDown(nFlags, point); } void CLineView::OnDraw(CDC* pDC) { CLineDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: この場所にネイティブ データ用の描画コードを追加します。 ● CPen p(PS_SOLID, 1, RGB(0, 0, 255)); ● CPen* oldp=pDC->SelectObject(&p); ● int lineIndex = pDoc->m_lineIndex; ● int i; ● int x,y; ● for(i = 0; i<lineIndex; i++){ ● x = pDoc->m_points[i][0].x; ● y = pDoc->m_points[i][0].y; ● pDC->MoveTo(x,y); ● x = pDoc->m_points[i][1].x; ● y = pDoc->m_points[i][1].y; ● pDC->LineTo(x,y); ● } ● pDC->SelectObject(oldp); } を追加
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.