从 DATETIMEPICK_CLASS win32(非 mfc)中获取选定的日期
get selected date from DATETIMEPICK_CLASS win32 (NOT 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);
}
}
}
对我有用:
我在 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);
}
}
}
对我有用: