CDateTimeCtrlのチェックボックスについて

このQ&Aのポイント
  • CDateTimeCtrlのチェックボックスについて質問させてください。
  • CDateTimeCtrlのプロパティに「Show None」チェックボックスをコントロールの隣に表示して、日付を選択しなくても良いようにします。
  • このチェックボックスをソース上で操作するメンバが見当たりません。ソースからチェックボックスのON,OFFを操作する方法を教えてください。
回答を見る
  • ベストアンサー

CDateTimeCtrlのチェックボックスについて

CDateTimeCtrlのチェックボックスについて質問させてください。 環境 Microsoft Visual Studio .NET 2003 Visual C++ プロジェクト MFC DLL WindowsXP Home CDateTimeCtrlのプロパティに 「Show None」チェックボックスをコントロールの隣に表示して、日付を選択しなくても良いようにします。 という項目がありますが、このチェックボックスをソース上で操作するメンバが CDateTimeCtrlクラスやCWndクラスのクラスメンバに見当たりません。 どなたかご存知でしたら、ソースからチェックボックスのON,OFFを操作する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • FAY
  • ベストアンサー率49% (95/193)
回答No.1

チェックを外す場合は CWnd * pWnd = GetDlgItem(IDC_DATETIMEPICKER); SYSTEMTIME systime; ::GetLocalTime(&systime); pWnd->SendMessage(DTM_SETSYSTEMTIME, (LPARAM)GDT_NONE, (LPARAM)(&systime)); 日付を設定する必要がないときはSendMessageの第三引数にNULLを 渡してやればいいです。 チェックをつけるときは pWnd->SendMessage(DTM_SETSYSTEMTIME, (LPARAM)GDT_VALID, (LPARAM)(&systime)); です。

book123
質問者

お礼

FAYさん、ご回答ありがとうございました。 CDateTimeCtrlのチェックボックスを操作することができました。 質問に書き忘れたのですが、 CDateTimeCtrlのチェックボックスのON,OFF状態はどのように取得するのでしょうか? if(CDateTimeCtrlのチェックボックスのON) a=1 if(CDateTimeCtrlのチェックボックスのOFF) a=2 すごく適当な例ですが、このような処理をしたいのです。 回答を頂いたのにまた質問して申し訳ないのですが、 よろしくお願い致します。

その他の回答 (2)

  • FAY
  • ベストアンサー率49% (95/193)
回答No.3

あー、最初の回答みたいにしなくても CDateTimeCtrl * pPicker = (CDateTimeCtrl *)GetDlgItem(IDC_DATETIMEPICKER); pPicker->SetTime(); でもチェックが外れるみたいですね。

book123
質問者

お礼

別のやり方まで探していただき、本当にありがとうございました。

  • FAY
  • ベストアンサー率49% (95/193)
回答No.2

> 質問に書き忘れたのですが、 > CDateTimeCtrlのチェックボックスのON,OFF状態はどのように取得するのでしょうか? SYSTEMTIME systime; CDateTimeCtrl * pPicker = (CDateTimeCtrl *)GetDlgItem(IDC_DATETIMEPICKER); if(pPicker->GetTime(&systime) == GDT_NONE) { AfxMessageBox("チェックは外れています。"); } else //pPicker->GetTime(&systime) == GDT_VALIDのとき { AfxMessageBox("チェックがついています。"); } でどうでしょうか。

book123
質問者

お礼

ご回答ありがとうございました。 無事実装することができました。

関連するQ&A

  • チェックボックスの文字サイズについて

    チェックボックスの文字サイズについて質問です。 チェックボックスの文字サイズを変更するにはどうすればいいのでしょうか? 色々調べてみたのですが、見つける事が出来ませんでした。 もしかして出来ないのでしょうか? もうひとつ質問なのですが、チェックボックスの背景が白になるのですが、 プロパティシート「http://wisdom.sakura.ne.jp/system/winapi/common/common12.html」 の背景色と同じ色にしたいのですがどうすればいいのでしょうか? 元々の色がプロパティシートの背景色と同じだと思うのですが、 どこが間違っているのか分かりませんでした。 チェックボックスをクリックすると色が変わります。 開発環境 XP Visual Studio 2005 C,C++

  • Accessでチェックボックスからの入力を受け付けない

    お世話になります。 Access2003を使い、フォームにチェックボックスを作りました。  チェックボックスの値をテーブルに反映させるために、「チェックボックス」-「プロパティ」-「コントロールソース」より、該当テーブルの列を指定しました。 フォームビューにて、チェックボックスをクリックすると「このフォームは読み取り専用です」と言われ、チェックボックスへの操作は拒否されてしまいます。  どのようにすれば、フォームのチェックボックスから入力した値が、テーブルに反映できるのでしょうか?  なお、該当テーブルの列はyes/no型に指定しています。 よろしくお願いします。

  • チェックボックスの使い方教えてください。

    VC++6.0 MFC です。 チェックリストボックスを無効から有効に切り替えたいんだけど 使い方が良くわかんないっす。 ダイアログエディタで先にIDC_CHECK1のチェックボックスを無効にしてます。 (あと、IDC_CHECK1はメンバ変数bool m_bFlagって入れてます。) CCheckListBox* ckBox; ckBox->Enable(IDC_CHECK1,true); warning C4700: 値が割り当てられていない ローカルな変数 'ckBox' に対して参照が行われました。

  • VB2008かVB2005で、チェックボックスをループ文を使ってFalseにしたい

    Visual Basic 2008か2005で グループボックス1に50個、 グループボックス2に25個ののチェックボックスがあるとします。 これらのうち、グループボックス1の50個のチェックボックスだけ 全てチェックを外す処理を作りたいのですが、 1個1個チェックボックスをFalseにする文を記述すると 同じ様なソースが増えてしまうので、 Forのようなループを使って簡潔に書くことは出来ないでしょうか? 出来れば、ソースを記述してほしいです。 すみませんがよろしくお願いします。

  • VisualC++2005 「C2039 SetWindowTextAがCButton のメンバでは無い」と出てしまう。

    VisualC++2005において、プロジェクト(ソリューション)を以下のように構成した場合に表記のエラーが出ます。 解決方法ご存知でしたら教えて下さい。 (MFC初心者です) 【構成】 ・新規のソリューションにMFCのMDI形式のプロジェクトを作成 ・さらにMFC拡張DLLのプロジェクトを作成する (1つのソリューションに2つのプロジェクトを同居させる) ・MDIのプロジェクトは特に何もしない ・MFC拡張DLL側でダイアログを1ヶ作成する ・作成したダイアログのクラスを作成 ・OnInitDialog()を作成 ・作成したダイアログにあるボタンにメンバ変数(例:m_Button)を割り当てる ・OnInitDialog()内でm_Button.SetWindowText("HOGE");と記述 ・コンパイルするとエラーが出る 【エラー】 error C2039: 'SetWindowTextA' : 'CButton' のメンバではありません。 1> c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(2990) : 'CButton' の宣言を確認してください。 特に変わったことをしているわけではありません。 さらに「m_Button.」と入力した時点で入力補助機能が働くので m_Buttonはちゃんと認識されていると思います。 'CButton' 固有のメンバ関数の使用には問題ありませんが、 継承されているメンバ関数はことごとくNGです。

  • VSSの強制ロック解除

    プロジェクトメンバーがVSS管理下のソースコードを チェックアウトしたまま抜けてしまいました。 ロックを強制的に解除(ロールバック)したいのですが方法はありませんか? Visual SourceSafe 8.0.50727.42 Visual Studio 2008

  • チェックボックスにメールアドレス?が…

    フォームにチェックボックスがあり、valueは一桁数値が固定で入っています。 そのチェックボックスのvalueが何故か一桁数値ではなく[半角英数@ドメイン名]という値で入ってきました。 私自身が操作してそうなったわけではないので、このような状態にどうやってなったのか、わかりません。 何か原因になりそうな事ってありませんか? 例えば、ソースが文字化けしてタグが正しく理解されず、チェックボックスがテキストフィールドとして表示されて文字入力が可能な状態になっていた、など 可能性がある事ならなんでもいいです。アドバイスお願い致します。 ※そのチェックボックスを使用してるのは一箇所のみで、名前が被っている個所も見当たりませんでした。 ※nameも含め、そのチェックボックスには2バイト文字は使用していません。

    • ベストアンサー
    • PHP
  • mpeg2->wmv変換

    いつもお世話になっております。 visual studio 2010 mfc プロジェクトで mpeg2ファイルをwmvファイルに変換するプログラムを作成しようとおもい、 調べてみたのですが、 windows media player sdk windows media encoder sdk というものがあるような記載があるのですが、 どうやって行えばよいのかがわかりませんでした。 上記SDK以外でもよいので mpeg2ファイルをwmvファイルに変換するプログラムのサンプル、API、dll、オープンソースなど ご存知の方、ご教授よろしくお願いいたします。 OS windows 7 visual studio 2010 professional edition

  • FindFirstFileについて教えてください。

    Visual Studio C++ 2010 Expressを利用して、C言語のプログラムを作成しています。 その中でFindFirstFileを使っています。 Visual Studio上でWin32コンソールアプリのプロジェクトを作成して、このプログラムをコンパイルしました。 プロジェクトのプロパティは変更していません。 コンパイルしたものを実行すると戻り値としてINVALID_HANDLE_VALUEが返ってきて、ファイルのリストを取得できませんでした。 一方で、コマンドプロンプト上でMakefileを作成し、同じソースをコンパイルした場合は、ファイルのリストを正常に取得することが出来ます。 従いまして、おそらくプログラムは問題ないと思います。 Visual Studioのプロジェクトで、何かプロパティの設定が必要でしょうか? 実行環境は、Windows7 64-bitです。 何かご存知の方いらっしゃいましたら、教えて頂けますか?

  • Visual Studioで新規プロジェクトの種類

    Visual Studio2008で新しいプロジェクトを作るときに、次の選択があります。それぞれどのような違い、どのようなプロジェクトを作るときに向いているかを知りたいのです。 どなたが教えてもらえるでしょうか。 Visual C++  |-ATL  |-CLR  |-全般  |-MFC  |-スマートデバイス  |-テスト  |-Win32

専門家に質問してみよう