Mfc-timer
提供:Dev Guides
MFC-タイマー
- *タイマー*は、コンピューターまたはアプリケーションからの繰り返しの時間経過を使用する非空間オブジェクトです。 動作するために、期間の経過ごとに、コントロールはオペレーティングシステムにメッセージを送信します。 他のほとんどのコントロールとは異なり、MFCタイマーには、それを表すボタンもクラスもありません。 タイマーを作成するには、CWnd
- SetTimer()メソッドを呼び出すだけです。 この関数呼び出しは、アプリケーションのタイマーを作成します。 他のコントロールと同様に、タイマーは識別子を使用します。
新しいMFCダイアログベースのアプリケーションを作成しましょう。
- ステップ1 *-キャプションを削除し、そのIDをIDC_STATIC_TXTに設定します
- ステップ2 *-テキストコントロールの値変数を追加します。
- ステップ3 *-ソリューションのクラスビューに移動します。
- ステップ4 *-CMFCTimeDlgクラスをクリックします。
- ステップ5 *-[プロパティ]ウィンドウで、[メッセージ]ボタンをクリックします。
- ステップ6 *-WM_TIMERフィールドをクリックし、そのコンボボックスの矢印をクリックします。 OnTimerを選択して、イベントを実装します。
void CMFCTimerDlg::OnTimer(UINT_PTR nIDEvent) {
//TODO: Add your message handler code here and/or call default
CTime CurrentTime = CTime::GetCurrentTime();
int iHours = CurrentTime.GetHour();
int iMinutes = CurrentTime.GetMinute();
int iSeconds = CurrentTime.GetSecond();
CString strHours, strMinutes, strSeconds;
if (iHours < 10)
strHours.Format(_T("0%d"), iHours);
else
strHours.Format(_T("%d"), iHours);
if (iMinutes < 10)
strMinutes.Format(_T("0%d"), iMinutes);
else
strMinutes.Format(_T("%d"), iMinutes);
if (iSeconds < 10)
strSeconds.Format(_T("0%d"), iSeconds);
else
strSeconds.Format(_T("%d"), iSeconds);
m_strTimer.Format(_T("%s:%s:%s"), strHours, strMinutes, strSeconds);
UpdateData(FALSE);
CDialogEx::OnTimer(nIDEvent);
}
- ステップ7 *-上記のコードをコンパイルして実行すると、次の出力が表示されます。