SimpleWindow
载入中...
搜索中...
未找到
DateTimePicker.h
1#pragma once
2
3#include "Control.h"
4#include <CommCtrl.h>
5
6namespace sw
7{
11 enum class DateTimePickerFormat {
12 Short, // 以短格式显示日期
13 Long, // 以长格式显示日期
14 Custom, // 自定义格式
15 };
16
20 class DateTimePicker : public Control
21 {
22 private:
26 DateTimePickerFormat _format{DateTimePickerFormat::Short};
27
31 std::wstring _customFormat{};
32
33 public:
38
43
48
53
54 public:
59
65 bool GetTime(SYSTEMTIME &out);
66
72 bool SetTime(const SYSTEMTIME &time);
73
80 bool SetRange(const SYSTEMTIME &minTime, const SYSTEMTIME &maxTime);
81
82 protected:
89 virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override;
90
95 virtual void OnTimeChanged(NMDATETIMECHANGE *pInfo);
96
97 private:
102 void _SetFormat(const std::wstring &value);
103
108 void _UpdateStyle(DWORD style);
109 };
110}
控件
Definition Control.h:12
日期和时间选取器
Definition DateTimePicker.h:21
const Property< std::wstring > CustomFormat
自定义日期和时间格式字符串,空字符串表示默认格式
Definition DateTimePicker.h:47
DateTimePicker()
初始化DateTimePicker
bool SetTime(const SYSTEMTIME &time)
设置当前控件表示的时间
const Property< SYSTEMTIME > Time
当前控件表示的时间
Definition DateTimePicker.h:52
virtual void OnTimeChanged(NMDATETIMECHANGE *pInfo)
当前控件表示的时间改变时调用该函数
virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override
父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
bool SetRange(const SYSTEMTIME &minTime, const SYSTEMTIME &maxTime)
设置可选的时间段
bool GetTime(SYSTEMTIME &out)
获取当前控件表示的时间
const Property< bool > ShowUpDownButton
是否显示上下调整按钮
Definition DateTimePicker.h:37
const Property< DateTimePickerFormat > Format
日期和时间格式
Definition DateTimePicker.h:42
属性
Definition Property.h:1743