- 日付・時間を取得してみよう -



今回はCTimeクラスを使い今日の日付、現在の時間を表示するプログラムを作ってみます
OnTimer関数との連携でリアルタイムに動く物を作ろうかと思いましたが ちょっと考えると出来ると思うので辞めておきます。
興味のある方はこのサンプルをベースにリアルタイムに動くものを作ってみてください

プログラミングは自分で考える事が大切です!




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


 ■ ダイヤログにスタティックテキストを作成



※今日の日付:の横にある「Static」はスタティックテキストです。IDはIDC_NOWDAYとします
※その下の現在時刻:のIDはIDC_NOWTIMEとします
※画像では分かりやすいようにスタティックテキストにくぼみをつけています





 ■ OnInitDialog関数で変数の初期化をする


///////////////////////////////////////////
// CTest04Dlg メッセージ ハンドラ
BOOL CTest04Dlg::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: 特別な初期化を行う時はこの場所に追加してください。

//CTimeクラスのTime_Nowオブジェクトを作成
CTime Time_Now;

//現在の時間を取得し作成したオブジェクトに格納
Time_Now = CTime::GetCurrentTime();

//CString型のnow_timeを作成
CString now_time;

//CString型のnow_dateを作成
CString now_date;

//now_timeに現在時刻を設定
now_time = Time_Now.Format("%H : %M : %S");

//now_dateに今日の日付を設定
now_date = Time_Now.Format("20%y年 %m月 %d日");


//ダイヤログ更新
GetDlgItem(IDC_NOWDAY)->SetWindowText(now_date);
GetDlgItem(IDC_NOWTIME)->SetWindowText(now_time);

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





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