- ジョークソフトを作ってみよう -



サンプルを作成中にジョークソフトのアイデアを思いついたので、 今回は今までのサンプルを生かし簡単なジョークソフトを作ってみようと思います
作るのは起動するとプログレスバーが動き「フォーマット中〜」と表示される何とも嫌なソフト。(^-^;
当然フォーマットなどしませんのでご安心ください

では早速作ってみましょう。(ぉ




≪ MFC・ダイヤログベースでの作成例 ≫


 ■ ダイヤログにスタティックテキストとプログレスバーを作成



※サンプルではプログレスバーのIDを IDC_FORMAT_PROG とします





 ■ ClassViewからダイヤログクラスを右クリックしメンバー変数 Format_Percent を作成





※int型メンバー変数 Format_Percent を作成





 ■ OnInitDialog関数で変数と、タイマーの初期化をします


//////////////////////////////////////////////////////
// CUnformatDlg メッセージ ハンドラ

BOOL CUnformatDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// "バージョン情報..." メニュー項目をシステム メニューへ追加します。

// IDM_ABOUTBOX はコマンド メニューの範囲でなければなりません。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL) {
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty()) {
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン
// ウィンドウがダイアログでない時は自動的に設定しません。
SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定
SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定

// TODO: 特別な初期化を行う時はこの場所に追加してください。

//プログレスバーに使う変数の初期化
Format_Percent = 0;

//タイマーを開始
SetTimer(1,25,NULL);

return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
}





 ■ 追加したOnTimer関数にソースを追加する

void CUnformatDlg::OnTimer(UINT nIDEvent)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください

//Format_Percent変数をインクリメント
Format_Percent++;

//プログレスバーの現在値を更新
m_Format_prog.SetPos(Format_Percent);

//ダイヤログの更新
UpdateData(FALSE);

//Format_Percentが100になったかどうかのチェック
if(Format_Percent == 100){
//タイマーを終了する
KillTimer(1);

//メッセージボックスにメッセージを表示
MessageBox("フォーマット終了...嘘です。(^^ゞ","- Format END(?) -");
}

CDialog::OnTimer(nIDEvent);
}





 ■ 以上コンパイルすれば完成



※ちなみに私の作った物はこちらからDL出来ます。