追補1「クリックする位置で絵を描きわけたいとき」
○「〜View.cpp」への追加・変更分
void CInuView::OnDraw(CDC* pDC)
{
CInuDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
pDC->TextOut(10,10,"Hello!");
CDC pM;
CBitmap pB,*pOld;
if(a==1)
{
pB.LoadBitmap(IDB_BITMAP1);
}
else
{
pB.LoadBitmap(IDB_BITMAP2);
}
pM.CreateCompatibleDC(pDC);
pOld=pM.SelectObject(&pB);
pDC->BitBlt(50,50,150,150,&pM,0,0,SRCCOPY);
pM.SelectObject(pOld);
pB.DeleteObject();
pM.DeleteDC();
sndPlaySound("inu.wav",SND_SYNC);
}
void CInuView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
if(point.x<50)
{
a=1;
}
else
{
a=0;
}
Invalidate(FALSE);
CView::OnLButtonDown(nFlags, point);
}
○「〜View.h」への追加分(「ファイル→開く」で別に開く。)
public:
int a;
追補2「キー操作で絵を描きわけたいとき」
○表示→ClassWizard→(タグ)メッセージマップ→メセージ→WM_CHARをダブルクリック
○「〜View.cpp」への追加
void CInuView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
if(nChar=='1')
{
a=1;
}
else
{
a=0;
}
Invalidate(FALSE);
CView::OnChar(nChar, nRepCnt, nFlags);
}
追補3「描きわけたい絵を増やしたいとき」
○追加インポート
○OnDrawを変更
if(a==1)
{
pB.LoadBitmap(IDB_BITMAP1);
}
else if(a==2)
{
pB.LoadBitmap(IDB_BITMAP2);
}
else
{
pB.LoadBitmap(IDB_BITMAP3);
}
○OnLButtonDownを変更
if(point.x<50)
{
a=1;
}
else if(point.x<100)
{
a=2;
}
else
{
a=0;
}
*switch文も活用してみる。
もどる
前のページ