在元素中获取和设置日期DATETIMEPICK_CLASS

Getting and setting date in DATETIMEPICK_CLASS element

本文关键字:日期 DATETIMEPICK CLASS 设置 元素 获取      更新时间:2023-10-16

我正在创建此处描述的时间选择器元素。我正在使用简单的 winapi 调用在 C++ 中编写代码

我找不到任何有关如何以编程方式在此元素中实际获取和设置时间的示例。

首先,该元素在程序启动时以一些随机时间初始化(甚至与系统时间不匹配),我希望它使用 00:00 初始化。我该怎么做?

第二个问题是我应该使用什么方法来从控制元素获取时间值。我已经尝试GetWindowText()取得了一些成功,但我不确定这是否是正确的解决方案。

下面提供了我用于初始化的代码示例

    /* TIMER2*/
    dtmTimer2 = CreateWindowEx( //
            /* Extended Style   */0, //
            /* Class Name       */DATETIMEPICK_CLASS, //
            /* Element Name     */GUI_TIMER2_LABEL, //
            /* Style            */(WS_BORDER | WS_CHILD |WS_VISIBLE | DTS_TIMEFORMAT), //
            /* X Position       */GUI_TIMER2_POS_X, //
            /* Y Position       */GUI_TIMER2_POS_Y, //
            /* Width            */GUI_TIMER2_WIDTH, //
            /* Height           */GUI_TIMER2_HEIGHT, //
            /* Parent Window    */hwnd, //
            /* Menu             */NULL, //
            /* Instance         */NULL, //
            /* Parameter        */NULL);
    SendMessage(dtmTimer2, WM_SETFONT, (WPARAM) hFont, MAKELPARAM(TRUE, 0));
    SendMessage(dtmTimer2, DTM_SETFORMAT, 0, (LPARAM) "HH:MM");

似乎我在这里错过了一些非常明显的东西。任何帮助将不胜感激。

您需要

的消息是使用SYSTEMTIME结构进行操作的DTM_GETSYSTEMTIMEDTM_SETSYSTEMTIME(或其相应的宏)。