• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++ Win32APIでDateTimePickerの初期値を変更す)

C++ Win32APIでDateTimePickerの初期値を変更する方法は?

このQ&Aのポイント
  • C++のWin32APIを使用して、DateTimePickerの初期値を変更する方法について教えてください。
  • VisualStudio2008でダイアログを作成し、DateTimePickerを配置しています。現在の時刻が表示されていますが、指定の時刻を表示するにはどうすれば良いでしょうか?
  • 初心者のためわからない箇所があり、WM_INITDIALOGにてSetDlgItemを使用すると思っていますが、具体的に何を入力すれば良いのかわかりません。ご教授いただければ幸いです。

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

DTM_SETSYSTEMTIMEメッセージ、あるいはDateTime_SetSystemtime()マクロ…でしょうか? SetDlgItem~であるかは不明ですが… SendDlgItemMessage()でDTM_SETSYSTEMTIMEを投げるとか、 DateTime_SetSystemtime()マクロでGetDlgItem()で投げる先のHWNDを取得するとか。

haguruman
質問者

お礼

教えて頂いたDateTime_SetSystemtimeをgoogle検索し、見つかったhttp://homepage2.nifty.com/c_lang/sdk4/sdk_343.htmを参考にすることで実現出来ました! //時刻指定用ダイアログのコールバック BOOL CALLBACK DlgProc(HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp) { static HWND hTime; SYSTEMTIME st; switch (msg) { case WM_INITDIALOG: hTime = GetDlgItem(hDlgWnd, IDC_DATETIMEPICKER1); GetLocalTime(&st); st.wHour = 12; st.wMinute = 34; st.wSecond = 56; DateTime_SetSystemtime(hTime,GDT_VALID,&st); break; } } //DateTimePickerに12:34:56が表示される 有り難うございました!!

関連するQ&A

専門家に質問してみよう