システムの時間(年)をエディットボックスに表示する

[戻る]
ぷー 2002/07/09(火) 09:42:17
MDI上のエディットボックスにシステムの年号を和暦で表示させたいです。
また、下のソースだとリアルタイムにタイムを取得してしまいます。
一時的に時間を取得し、その時間だけを表示するにはどうしたらよいのですか?

現在のソース。

void CMAKEERView::OnTimer(UINT nIDEvent) 
{
  CTime NowYear;
  NowYear = CTime::GetCurrentTime();
  
  CString temp = Make_Now.Format( "%Y" );
  m_makeyear = temp;
  UpdateData( FALSE );
  
  CFormView::OnTimer(nIDEvent);
}

宜しくお願い致します。

*****環境******
OS:WIN2000
TOOL:VC++6.0

とおりすがり 2002/07/09(火) 10:00:08
質問の趣旨が読み取れないのですが...。
「一時的」に?
タイマイベントで処理しているからリアルタイムで表示できているわけで、
何か「一時的」なイベントで処理してやればいいだけだと思いますが。
もしかして、タイマを停止したいってこと?

んー、私だけかもしれませんが、とにかくよく分かりません。

ぷー 2002/07/09(火) 10:09:10
んー・・・。私の説明が下手みたいで・・・。すみません。

時間を取得するのを一度だけ。という意味です。
これだとリアルタイムな時間を取得しっぱなしになりますよね。
MDIで新規作成で開いたものの表示タイムが2002年だとして、ここでOSの時間を2003年に進め
ます。
すると先程開いていたものの表示タイムが2003年に自動的に変わってしまうのです・・・。
さっき開いたものはさっきの時をエディットボックスに表示させておきたいのです。
これで意味伝わったでしょうか・・・。
お願いします。

dairygoods 2002/07/09(火) 10:28:36
> MDI上のエディットボックスにシステムの年号を和暦で表示させたいです。
GetDateFormatでフォーマットします。

>また、下のソースだとリアルタイムにタイムを取得してしまいます。
>一時的に時間を取得し、その時間だけを表示するにはどうしたらよいのですか?

タイマーを使わなければよいのでは?

ぷー 2002/07/09(火) 10:56:21
>タイマーを使わなければよいのでは?
えっ!
タイマーを使わない方法知らないです・・・。
是非、教えて頂けないでしょうか?
お願いします。

駄犬 [E-Mail] 2002/07/09(火) 11:06:37
CTime::GetCurrentTime() は、タイマーとは無関係です。
好きなときに時刻を取得できます。

ぷー 2002/07/09(火) 11:18:55
[[解決]]
>CTime::GetCurrentTime() は、タイマーとは無関係です。
>好きなときに時刻を取得できます。
できました!!!
すっごいヒントになりました!
みなさん、本当にありがとうございました。

とおりすがり 2002/07/09(火) 12:44:21
嫌味とかではなく、もっと基本的なことを理解されたほうがいいですよ。

古いスレッドには追加発言できません。