VisualC++.netにおいて、MFCでアプリケーションを作っています。

MFCにおいて、アプリケーション内部でダイアログボックスの中で定期的に関数を実行したいのです。
がタイマーの使い方がよくわかりません。
できればダイアログボックスのクラスだけで完結したいのですが、そういった方法が分かる方がいましたら、教えて頂けるとありがたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/09/06 13:51:48
  • 終了:--

回答(2件)

id:cx20 No.1

cx20回答回数607ベストアンサー獲得回数1082004/09/06 14:18:20

ポイント25pt

URL は VC++6.0 の MFC のサンプルですが、

VC++.net でも MFC ベースであれば、ほとんど違いは無いはずです。

<タイマーの使い方>

1. CxxxDlg::OnInitDialog() に SetTimer() を追加する。

2. CxxxDlg::OnTimer() を実装する(WM_TIMER のハンドラ関数です。)

3. タイマーを停止したいところに KillTimer() を記述する。

ここにもタイマーのサンプルが載っています。

id:sackbut

う〜ん、そもそもOnInitDialog()が存在しません。

一応コンストラクタに入れてやってみましたが、コンパイルはできたのですが、エラーが出ました。

2004/09/06 15:44:20
id:cx20 No.2

cx20回答回数607ベストアンサー獲得回数1082004/09/06 15:40:57

ポイント25pt

先ほど、VC++.net で確認してみました。

VC++.net での OnInitDialog と OnTimer の追加方法です。

<CxxxDlg::OnInitDialog() の追加方法>

1. [表示] - [クラス ビュー] を選択します。

2. クラス ビューより CxxxDlg を選択します。

3. [表示] - [プロパティ ウィンドウ] を選択します。

4. 「プロパティ ウィンドウ」の [オーバーライド] ボタンをクリックします。

  → OnInitDialog の項目が表示されると思います。

5. OnInitDialog の項目で「<追加> OnInitDialog」を選択します。

  → CxxxDlg::OnInitDialog() が実装されます。

<CxxxDlg::OnTimer() の追加方法>

1. [表示] - [クラス ビュー] を選択します。

2. クラス ビューより CxxxDlg を選択します。

3. [表示] - [プロパティ ウィンドウ] を選択します。

4. 「プロパティ ウィンドウ」の [メッセージ] ボタンをクリックします。

  → WM_TIMER の項目が表示されると思います。

5. WM_TIMER の項目で「<追加> OnTimer」を選択します。

  → CxxxDlg::OnTimer() が実装されます。

となります。

VC++.net も VC++6.0 も対してやり方は違わないだろうと思っていたら、

結構違っていました。

id:sackbut

すばらしいです!

成功しました。

ありがとうございました。

2004/09/06 15:49:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません