現在の時刻で初期化され、有効/無効になっている時間のコードに CDateTimeCtrl があり、時間の設定はツリー コントロールをクリックして行います。
ここで、ツリー コントロールの項目をクリックすると、最初に dateTime コントロールが有効になり、ツリー コントロールに存在するデータに従って時刻が設定されます (たとえば、14:25:17)。
次に、ツリー コントロールの別の項目をクリックすると、時間コントロールに時間が設定されます (14:26:30 とします)。
ここで、前のツリー項目をもう一度クリックすると、SetTime 関数は正しい時刻値 (14:25:17) で呼び出されますが、コントロールに設定および表示される時刻は更新されません (まだ 14:26 です)。 :30).
GetTime も 14:26:30 値を返します。
時間を設定するために使用しているコードは次のとおりです。
UINT64_T newSTime = info.m_uiStartTime / 1000; // Time I receive from tree control (in msecs)
CTime start_time(newSTime);
m_StartTime.SetTime(&start_time);
SetRedraw、Invalidate、UpdateData を試しましたが、何も機能しません。
皆さんが何かを提案できることを願っています。