You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.7 KiB
79 lines
3.7 KiB
/**
|
|
* Copyright (C) 2014-2050 SOUI团队
|
|
* All rights reserved.
|
|
*
|
|
* @file SCalendar.h
|
|
* @brief 日历时间控件
|
|
* @version v1.0
|
|
* @author soui
|
|
* @date 2014-05-25
|
|
*
|
|
* Describe 此类完成日历控件
|
|
*/
|
|
|
|
#pragma once
|
|
#include "core/SWnd.h"
|
|
|
|
namespace SOUI
|
|
{
|
|
/**
|
|
* @class SCalendar
|
|
* @brief 日历类
|
|
*
|
|
* Describe 此类是日历的核心类 大部分函数都是静态函数
|
|
*/
|
|
class SCalendar2 : public SWindow
|
|
{
|
|
public:
|
|
SOUI_CLASS_NAME(SCalendar2, L"calendar2")
|
|
|
|
|
|
/**
|
|
* SCalendar::SCalendar
|
|
* @brief 构造函数
|
|
*
|
|
* Describe 构造函数
|
|
*/
|
|
SCalendar2();
|
|
|
|
protected:
|
|
|
|
/**
|
|
* SCalendar::Load
|
|
* @brief 加载xml
|
|
* @param pugi::xml_node xmlNode -- xml节点
|
|
*
|
|
* Describe 通过加载xml来构造窗口
|
|
*/
|
|
virtual BOOL InitFromXml(pugi::xml_node xmlNode);
|
|
protected:
|
|
|
|
|
|
/**
|
|
* SCalendar::OnTodayClick
|
|
* @brief 在日期---天的单击事件
|
|
*
|
|
* Describe 在日期---天的单击事件
|
|
*/
|
|
bool OnTodayClick(EventArgs *pArg);
|
|
bool OnMonthClick(EventArgs *pArg);
|
|
bool OnBtnNextMonth(EventArgs *pArg);
|
|
bool OnBtnPrevMonth(EventArgs *pArg);
|
|
bool OnBtnNext10Year(EventArgs *pArg);
|
|
bool OnBtnPrev10Year(EventArgs *pArg);
|
|
bool OnBtnPickMonthFinish(EventArgs *pArg);
|
|
bool OnBtnPickMonthCancel(EventArgs *pArg);
|
|
|
|
bool OnSetCalendarDate(EventArgs *pArg);
|
|
void initYearButtons();
|
|
protected:
|
|
SCalendar * m_pCalendar;
|
|
SWindow * m_pMonthPickerPanel;
|
|
SWindow * m_pCalenderPanel;
|
|
SWindow * m_pBtnPrevMonth,* m_pBtnNextMonth;
|
|
SWindow * m_pTxtMonth;
|
|
|
|
int m_iBeginYear;
|
|
};
|
|
}//end of namespace
|
|
|
|
|