在 Win32 API 的 Commctrl.h 头文件中,NMDATETIMEFORMATW 结构体是日期时间选择控件(DateTime 控件)的 DTN_FORMAT 通知消息中使用的结构体。该结构体用于通知应用程序 DateTime 控件正在请求一个日期时间字符串的格式。

以下是 NMDATETIMEFORMATW 结构体的定义:
typedef struct tagNMDATETIMEFORMATW {
    NMHDR       nmhdr;      // 标准通知消息头
    LPCWSTR     pszFormat;  // 请求的日期时间格式
    SYSTEMTIME  st;         // 当前日期和时间
    LPCWSTR     pszDisplay; // 要显示的日期时间字符串
    WCHAR       szDisplay[64]; // 要显示的日期时间字符串的缓冲区
    SIZE        szMax;      // 缓冲区的最大尺寸
    LPARAM      lParam;     // 应用程序特定的参数
} NMDATETIMEFORMATW, *LPNMDATETIMEFORMATW;

  •  nmhdr: 标准通知消息头。

  •  pszFormat: 请求的日期时间格式。

  •  st: 当前日期和时间。

  •  pszDisplay: 要显示的日期时间字符串的指针。

  •  szDisplay: 要显示的日期时间字符串的缓冲区。

  •  szMax: 缓冲区的最大尺寸。

  •  lParam: 应用程序特定的参数。


DTN_FORMAT 通知消息是在 DateTime 控件需要格式化日期时间字符串以供显示时发送的。通过检查 NMDATETIMEFORMATW 结构体的成员,应用程序可以获取关于请求的格式、当前日期时间、要显示的字符串以及相关的信息。

请注意,结构体中的 pszFormat 和 pszDisplay 是指向字符串的指针,分别指向请求的日期时间格式和要显示的日期时间字符串。




转载请注明出处:http://www.zyzy.cn/article/detail/24911/Win32 API/Commctrl.h/NMDATETIMEFORMATW