Visual Studio 2010-最初のVisual C++.NETプログラム
実験環境:Windows XP,Visual Studio 2010 Ultimate
1プロジェクトの作成
1.1ファイル>>新規>>プロジェクト、「その他言語」>>Visual C++を選択し、「MFCアプリケーション」を選択します.プロジェクト名を「First」に変更します.次の図に示します.
1.2上図において、確認をクリックすると、「MFCアプリケーションウィザード」がポップアップされ、その中の「アプリケーションタイプ」画面において、以下の図のように設定される.
1.3「完了」を直接クリックし、その他のデフォルト設定を保存すればよい.
2メニューバーの「表示」をクリックし、「ソリューションエクスプローラ」、「ツールボックス」、「クラスビュー」、「リソースビュー」、「プロパティウィンドウ」の順にクリックします.メニューは下図の通りです.
プロジェクトを作成した後、効果図を下図に示します.
3ビュークラスに色メンバー変数m_を追加nCurColorと図形描画関数DrawCircle
3.1「クラスビュー」でCFRrstView(ビュークラス)を見つけ、右クリックするとウィザードがポップアップされます.このウィザードで、このクラスに変数と関数を追加できます.下図のように.
3.2次の図に示すように、CFirstViewに変数を追加します.
3.3次の図に示すように、CFRrstViewに関数を追加します.
3.4タイマーを追加する.
クラスビューを右クリックして、ポップアップダイアログボックスで[プロパティ]を選択し、[プロパティ]の上で[メッセージ]を選択し、メッセージリストでWM_を見つけます.TIMER、右側のドロップダウン・オプションでOnTimerを選択します.下図のように.
3.5起動と停止ボタンの追加
3.5.1「リソースビュー」のMenuの下にあるIDR_をダブルクリックMAINFRAME、下図の通りです.
3.5.2開いているメインメニューに「設定」メニューを追加し、「設定」に「起動」と「停止」の2つのドロップダウンメニューを追加します.STARTとID_STOP.
メニューを右クリックして、[プロパティ](Properties)を選択して設定します.下図のように.
3.5.3[開始](Start)と[停止](Stop)のイベント処理関数を追加します.
[起動](Start)を右クリックし、ポップアップダイアログボックスで[イベントハンドラを追加](Add Event Handler)を選択します.下図のように.
ポップアップされたイベントハンドラウィザードで、メッセージタイプが「COMMAND」を選択し、クラスリストがCfirstViewを選択し、「編集の追加」をクリックすると、CfirstViewクラスで
OnStart()関数が追加されました.
同じ方法で[停止](Stop)にイベント処理関数を追加します.
4コードの追加
4.1 CFRrstViewクラスのコンストラクション関数でm_nCurColor変数の付与値は-1である.以下に示す.
4.2先ほど追加したDrawCircle関数を以下に示します.
4.3タイマー関数OnTimer()を以下に示すように改善する.
4.4「起動」と「停止」にイベント処理応答を追加する.
4.5 OnDraw関数の変更
OnDraw関数は、プロジェクトを作成するときに自動的に生成されます.彼のpDCパラメータはコメントされているので、コメントを削除します.また、//ODOの下にコードを追加します.以下に示す.
5デバッグ
Visual Studio 2010のメインメニューで「起動」|「デバッグの起動」をクリックし、実行可能ファイルを生成した後、プログラムの実行インタフェースで、作成した「設定」|「起動」メニューをクリックすると、
赤と緑と青の3色の「ランプ」が循環して点灯/消灯します.下図のように.
6工事ソース.http://download.csdn.net/detail/q1302182594/5213571.
7本プロジェクトの実行フロー分析は、『Visual Studio 2010-MFCアプリケーション呼び出し順序分析』を参照してください.
8参考文献
栄欽科技:李淑馨、陳偉編著.Viusal C++2008プログラム設計完全独学チュートリアル.北京:清華大学出版社、2009
吕智、马瑞力等编著Visual C++.NETのすばらしいプログラミング百例.北京:中国水利水力発電出版社、2004
梁興柱編集長Visual C++.NETプログラミング北京:清華大学出版社、2010
1プロジェクトの作成
1.1ファイル>>新規>>プロジェクト、「その他言語」>>Visual C++を選択し、「MFCアプリケーション」を選択します.プロジェクト名を「First」に変更します.次の図に示します.
1.2上図において、確認をクリックすると、「MFCアプリケーションウィザード」がポップアップされ、その中の「アプリケーションタイプ」画面において、以下の図のように設定される.
1.3「完了」を直接クリックし、その他のデフォルト設定を保存すればよい.
2メニューバーの「表示」をクリックし、「ソリューションエクスプローラ」、「ツールボックス」、「クラスビュー」、「リソースビュー」、「プロパティウィンドウ」の順にクリックします.メニューは下図の通りです.
プロジェクトを作成した後、効果図を下図に示します.
3ビュークラスに色メンバー変数m_を追加nCurColorと図形描画関数DrawCircle
3.1「クラスビュー」でCFRrstView(ビュークラス)を見つけ、右クリックするとウィザードがポップアップされます.このウィザードで、このクラスに変数と関数を追加できます.下図のように.
3.2次の図に示すように、CFirstViewに変数を追加します.
3.3次の図に示すように、CFRrstViewに関数を追加します.
3.4タイマーを追加する.
クラスビューを右クリックして、ポップアップダイアログボックスで[プロパティ]を選択し、[プロパティ]の上で[メッセージ]を選択し、メッセージリストでWM_を見つけます.TIMER、右側のドロップダウン・オプションでOnTimerを選択します.下図のように.
3.5起動と停止ボタンの追加
3.5.1「リソースビュー」のMenuの下にあるIDR_をダブルクリックMAINFRAME、下図の通りです.
3.5.2開いているメインメニューに「設定」メニューを追加し、「設定」に「起動」と「停止」の2つのドロップダウンメニューを追加します.STARTとID_STOP.
メニューを右クリックして、[プロパティ](Properties)を選択して設定します.下図のように.
3.5.3[開始](Start)と[停止](Stop)のイベント処理関数を追加します.
[起動](Start)を右クリックし、ポップアップダイアログボックスで[イベントハンドラを追加](Add Event Handler)を選択します.下図のように.
ポップアップされたイベントハンドラウィザードで、メッセージタイプが「COMMAND」を選択し、クラスリストがCfirstViewを選択し、「編集の追加」をクリックすると、CfirstViewクラスで
OnStart()関数が追加されました.
同じ方法で[停止](Stop)にイベント処理関数を追加します.
4コードの追加
4.1 CFRrstViewクラスのコンストラクション関数でm_nCurColor変数の付与値は-1である.以下に示す.
CFirstView::CFirstView()
: m_nCurColor(0)
{
// TODO:
m_nCurColor=-1;//m_nCurColor 。
}
4.2先ほど追加したDrawCircle関数を以下に示します.
int CFirstView::DrawCircle(int CurColor, CDC* pDC)
{
pDC->Rectangle(80,80,220,440);
CRect rRect(100,100,200,200);
CRect gRect(100,210,200,310);
CRect yRect(100,320,200,420);
CBrush rBrush(RGB(255,0,0));
CBrush gBrush(RGB(0,0,255));
CBrush yBrush(RGB(255,255,0));
CBrush wBrush(RGB(255,255,255));
CBrush *pOldBrush;
if(CurColor==0)//CurColor
{
pDC->Ellipse(&gRect);
pDC->Ellipse(&yRect);
pOldBrush=pDC->SelectObject(&rBrush);
pDC->Ellipse(&rRect);
}
else if(CurColor==1)
{
pDC->Ellipse(&rRect);
pDC->Ellipse(&yRect);
pOldBrush=pDC->SelectObject(&gBrush);
pDC->Ellipse(&gRect);
}
else if(CurColor==2)
{
pDC->Ellipse(&rRect);
pDC->Ellipse(&gRect);
pOldBrush=pDC->SelectObject(&yBrush);
pDC->Ellipse(&yRect);
}
else
{
pOldBrush=pDC->SelectObject(&wBrush);
pDC->Ellipse(&rRect);
pDC->Ellipse(&gRect);
pDC->Ellipse(&yRect);
}
pDC->SelectObject(pOldBrush);
return 0;
}
4.3タイマー関数OnTimer()を以下に示すように改善する.
void CFirstView::OnTimer(UINT_PTR nIDEvent)
{
// TODO: /
m_nCurColor=(++m_nCurColor)%3;
Invalidate();
CView::OnTimer(nIDEvent);
}
4.4「起動」と「停止」にイベント処理応答を追加する.
void CFirstView::OnStart()
{
// TODO:
SetTimer(1,1000,NULL);
}
void CFirstView::OnStop()
{
// TODO:
KillTimer(1);
m_nCurColor=-1;
Invalidate();
}
4.5 OnDraw関数の変更
OnDraw関数は、プロジェクトを作成するときに自動的に生成されます.彼のpDCパラメータはコメントされているので、コメントを削除します.また、//ODOの下にコードを追加します.以下に示す.
void CFirstView::OnDraw(CDC* pDC)
{
CFirstDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO:
DrawCircle(m_nCurColor,pDC);
}
5デバッグ
Visual Studio 2010のメインメニューで「起動」|「デバッグの起動」をクリックし、実行可能ファイルを生成した後、プログラムの実行インタフェースで、作成した「設定」|「起動」メニューをクリックすると、
赤と緑と青の3色の「ランプ」が循環して点灯/消灯します.下図のように.
6工事ソース.http://download.csdn.net/detail/q1302182594/5213571.
7本プロジェクトの実行フロー分析は、『Visual Studio 2010-MFCアプリケーション呼び出し順序分析』を参照してください.
8参考文献
栄欽科技:李淑馨、陳偉編著.Viusal C++2008プログラム設計完全独学チュートリアル.北京:清華大学出版社、2009
吕智、马瑞力等编著Visual C++.NETのすばらしいプログラミング百例.北京:中国水利水力発電出版社、2004
梁興柱編集長Visual C++.NETプログラミング北京:清華大学出版社、2010