c++ - 从 DATETIMEPICK_CLASS win32 获取选定日期(不是 mfc)
问题描述
我在win32 表单上放置了1 个datetimepick_class控件。我创建它如下:
HWND Date = CreateWindowEx(
0,
DATETIMEPICK_CLASS,
TEXT("DateTime"),
WS_BORDER | WS_CHILD | WS_VISIBLE ,
10, 10
250, 30,
hWnd,
(HMENU)IDC_DATE_TIME_PICK,
hInst,
NULL
);
我有按钮。我希望当单击此按钮时,它应该从提到的datetimepick小部件中获取选定的日期值。
我处理按钮单击事件如下:
switch (message)
{
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
switch (wmId)
{
case IDC_Calculate_Button:
//Button clicked so
//Display selected date value in msgbox
}
}
我尝试了现有的答案,但它们很少见或没有很好的记录或详细说明。请指导我。
解决方案
您可以使用DTM_GETSYSTEMTIME
消息:
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
switch (wmId)
{
case IDC_Calculate_Button:
{
//Button clicked so
//Display selected date value in msgbox
SYSTEMTIME st{};
DateTime_GetSystemtime(Date, &st);
TCHAR buf[100]{};
wsprintf(buf, L"%d-%d-%d", st.wYear, st.wMonth, st.wDay);
MessageBox(hwnd, buf, L"Time", 0);
}
}
}
这个对我有用:
推荐阅读
- javascript - 在这种情况下,我不明白 $ 符号的含义
- flutter - Flutter 动画:使用 opencontainer 进行 showSearch
- php - 如何在我的代码中用 bind_result 替换 get_result
- ruby-on-rails - 在 ReactJS 中使用 Rails actioncable 更新状态的最佳方法
- javascript - 如何获得 api 响应以角度解决的剩余时间?
- java - 如何解决 Java 套接字中的“java.net.SocketException:连接重置”
- python - IndexError:索引 45 超出轴 0 的范围,大小为 10
- haskell - List Monads do-notation 中的 If-Then-Else
- powershell - Powershell7 WinSCP New-WinSCPSession 异常
- java - 为什么用标志告诉 JAVA NUMA?