プログレスバー・タイマプログレスバーの作成・タイマの利用プログレスバーを持つ、ダイアログボックスを作成します。プログレスバーが、0%から始まり、1秒おきに5%づつ増え、100%で止まるアプリケーションを作成します。作成したソースをもとに作成します。ここでは、Reseditで作成する方法も説明します。流れプログレスバーは、コモンコントロールのひとつです。コモンコントロールは他にも、ツリービューやリストビュー、ツールバーなどがあります。コモンコントロールは、comctl32.dllというライブラリで提供されています。コモンコントロールを使う場合は、下記1、2の両方を行って下さい。インクルードwindows.hをインクルードした後にインクルードしてください。説明しましたが、WM_INITDIALOGは、ダイアログが作成されたときに、一度だけ発生するメッセージです。1.InitCommonControls()でコモンコントロールの初期化コモンコントロールを使う前にこの初期化が必要です。2.プログレスバーを設定するのに、ウィンドウにメッセージを送る関数SendMessage()を使います。メッセージ特有のパラメータ2);2.1.PBM_SETRANGEメッセージで、プログレスバー範囲を設定。コモンコントロールですので、commctrl.hをインクルードする必要があります。ライブラリにcomctl32.libを追加する必要があります。1ステップの増分を設定します。これもcommctrl.hをインクルードして、ライブラリにcomctl32.libを追加する必要があります。0固定);3.SetTimer()で、タイマをミリ秒単位でセット。WM_TIMERメッセージに対する処理が実行されます。TimerProcコールバック関数(タイマプロシージャ)が実行されます。タイムアップした時の処理を、WM_TIMERメッセージで処理するか、TimerProcコールバック関数を新たに作成して、そこで処理するかの違いです。ここでは、WM_TIMERメッセージで処理します。WM_TIMERWM_TIMERメッセージは、セットされたタイマがタイムアップした場合に発生するメッセージです。タイマのID);2.PBM_STEPITメッセージで、プログレスバーを1ステップ増分。0固定);3.現在のプログレスバー増分を変数strに格納。文字セットがマルチバイトのときは、sprintf_sになります。[c・・・])この_stprintf_s()は、数式などを文字列に変換するものです。制御文字列formatで示す形式でセットします。この制御文字列には、%d(10進数の整数)、%s(文字列)、%f(小数)といったフォーマット指定子を含めることができます。確保するバッファのサイズです。swprintf_s、sprintf_sはそれぞれ、swprintf、sprintfのセキュリティが強化されたものです。4.SetWindowText()で、変数strを表示。紹介したSetDlgItemText()と同じ機能を持ちます。セットする文字列);リソースファイル1.プログレスバーを使用するため、commctrl.hをインクルード。2.プログレスバー[PROGRESS_CLASS]を追加。PROGRESS_CLASSの代わりに、"msctls_progress32"と記述することができます。"」を忘れないで下さい。この場合は、リソースファイルで、commctrl.hをインクルードする必要はありません。"msctls_progress32"と記述した場合でも、Cソースファイルでは、commctrl.hのインクルードが必要です。Bar」を選択すると、プログレスバーが作成できます。Text」は、テキストを挿入する際に使用します。ソースコードの入力ソースコードは下記のように入れてください。-1#endifReseditで作成した場合は、これとは異なるソースコードになります。15ENDReseditで作成した場合は、これとは異なるソースコードになります。プログレスバー・タイマ。