CDateTimeCtrlでアサート発生

[戻る]
Puppy 2002/04/15(月) 10:21:36
Puppyです。おはようございます。
Win2000,VC6でMFCを使ってます。

えと、質問はタイトルのとおりです。

ダイアログにはりつけたCDateTimeCtrlで1969年より古い値が
ユーザーによって選択されるとアサートしてしまいます。

どうしてなんでしょうか?
また、どうすればよいでしょうか?

月曜の朝からへんな質問ですいません。m(..)mぺこり

Puppy 2002/04/15(月) 11:21:16
[[解決]]
解決できました。(^-^;

どうしてだかはわからないんですけど1970より古い年を選ぶと
アサートしてしまうので、

DTN_DATETIMECHANGE メッセージを処理して
年が1970年未満だったら年を1970にしちゃいました。
(インチキでしょうか。。。)

このあたりのメッセージ処理、むずかしいですぅ。(T-T;
いろいろためして、やっとできましたぁ。(^-^;

お騒がせしました。m(..)mぺこり

Puppy 2002/04/15(月) 11:52:41
Puppyです。

すでに解決チェックしていますけれど
なぜか 2039年以上が選択されてもアサートしますぅ。

どうしてなんでしょ?バグでしょうか?
ご存知のかた教えて下さい。m(..)mぺこり

BAGUS 2002/04/15(月) 13:09:34
http://www.microsoft.com/JAPAN/developer/library/vccore/_core_date_and_time.3a_.
general.2d.purpose_classes.htm

おそらく こういうことでしょう。

dairygoods 2002/04/15(月) 13:25:40
CTimeの代わりにCOleDateTimeを使うと100/1/1から、9999/12/31までカバーできます。

Puppy 2002/04/15(月) 13:36:31
BAGUSさん dairygoodsさん お返事ありがとうございます。

CTimeを使うとしかたないとゆうことですね。
COleDateTimeを使えば日付指定の範囲が広がるんですね。(^-^;

ありがとうございました。m(..)mぺこり

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