• MFC下的日历表


    // CalenderDlg.h : header file
    //
    
    #if !defined(AFX_CALENDERDLG_H__8DC8F113_2A47_45B8_8266_75CB406D687B__INCLUDED_)
    #define AFX_CALENDERDLG_H__8DC8F113_2A47_45B8_8266_75CB406D687B__INCLUDED_
    #include"resource.h"
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    #include"MyTime.h"
    /////////////////////////////////////////////////////////////////////////////
    // CCalenderDlg dialog
    
    class CCalenderDlg : public CDialog
    {
    // Construction
    public:
    	CCalenderDlg(CWnd* pParent = NULL);	// standard constructor
    	
    // Dialog Data
    	//{{AFX_DATA(CCalenderDlg)
    	enum { IDD = IDD_CALENDER_DIALOG };
    	CStatic	m_StaticShowTime;
    	CButton	m_b35;
    	CButton	m_b34;
    	CButton	m_b33;
    	CButton	m_b32;
    	CButton	m_b31;
    	CButton	m_b30;
    	CButton	m_b29;
    	CButton	m_b28;
    	CButton	m_b27;
    	CButton	m_b26;
    	CButton	m_b25;
    	CButton	m_b24;
    	CButton	m_b23;
    	CButton	m_b22;
    	CButton	m_b21;
    	CButton	m_b20;
    	CButton	m_b19;
    	CButton	m_b1b8;
    	CButton	m_b17;
    	CButton	m_b16;
    	CButton	m_b15;
    	CButton	m_b14;
    	CButton	m_b13;
    	CButton	m_b12;
    	CButton	m_11;
    	CButton	m_b10;
    	CButton	m_b9;
    	CButton	m_b8;
    	CButton	m_b7;
    	CButton	m_b6;
    	CButton	m_b5;
    	CButton	m_b4;
    	CButton	m_b3;
    	CButton	m_b2;
    	CButton	m_b1;
    	CMonthCalCtrl	m_MonthCalCtrl;
    	CListBox	m_ListBox;
    	//}}AFX_DATA
    
    	// ClassWizard generated virtual function overrides
    	//{{AFX_VIRTUAL(CCalenderDlg)
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
    	//}}AFX_VIRTUAL
    
    // Implementation
    protected:
    	HICON m_hIcon;
    
    	// Generated message map functions
    	//{{AFX_MSG(CCalenderDlg)
    	virtual BOOL OnInitDialog();
    	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    	afx_msg void OnPaint();
    	afx_msg HCURSOR OnQueryDragIcon();
    	afx_msg void OnGetdaystateMonthcalendar3(NMHDR* pNMHDR, LRESULT* pResult);
    	afx_msg void OnGo();
    	//}}AFX_MSG
    	DECLARE_MESSAGE_MAP()
    private:
    	void setTimeToday();
    	MyTime mt ;
    	CMenu myMenu ;
    	int year , mouth , day ;
    };
    
    //{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
    
    #endif // !defined(AFX_CALENDERDLG_H__8DC8F113_2A47_45B8_8266_75CB406D687B__INCLUDED_)
    


    MYTIME类

    // MyTime.cpp: implementation of the MyTime class.
    //
    //////////////////////////////////////////////////////////////////////
    
    #include "stdafx.h"
    #include "Calender.h"
    #include "MyTime.h"
    #include<ctime>
    #ifdef _DEBUG
    #undef THIS_FILE
    static char THIS_FILE[]=__FILE__;
    #define new DEBUG_NEW
    #endif
    
    //////////////////////////////////////////////////////////////////////
    // Construction/Destruction
    //////////////////////////////////////////////////////////////////////
    
    MyTime::MyTime()
    {
    	time_t now;
    	struct tm*fmt;
    	time(&now);
    	fmt=localtime(&now);
        year=1900+fmt->tm_year; 
    	month=1+fmt->tm_mon;    
    	day=fmt->tm_mday;     
    }
    
    MyTime::~MyTime()
    {
    
    }
    bool MyTime::fun(int y){
    	if ((y%4==0)&&(y%100!=0)||(y%400==0))   return true ;
    	return false;
    }
    int MyTime::sum(int y,int m){
    	int sum=0;
        for(int j=1992;j<y;j++)  
    	    fun(j)?sum+=366:sum+=365;
        for(int i=1;i<m;i++)
            sum+=mouth(i);
    	return sum;
    }
    
    int MyTime::mouth(int m)
    {
        if((m==4)||(m==6)||(m==9)||(m==11))    return 30;
        if((m==2)&&(fun(year)))                return 29;
        if((m==2)&&(!fun(year)))               return 28;
        return 31;
    }
    int MyTime::getYear(){
    	return year;
    }
    int MyTime::getMouth(){
    	return month;
    }
    int MyTime::getDay(){
    	return day ;
    }
    void MyTime::setYear(int y){
    	year = y ;
    }
    void MyTime::setMouth(int m){
    	month = m ;
    }
    void MyTime::setDay(int d){
    	day = d ;
    }


    setTime类

    // SetTime.cpp : implementation file
    //
    
    #include "stdafx.h"
    #include "Calender.h"
    #include "SetTime.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /////////////////////////////////////////////////////////////////////////////
    // SetTime dialog
    
    
    SetTime::SetTime(CWnd* pParent /*=NULL*/)
    	: CDialog(SetTime::IDD, pParent)
    {
    	//{{AFX_DATA_INIT(SetTime)
    	m_strYear = _T("");
    	//}}AFX_DATA_INIT
    }
    
    
    void SetTime::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(SetTime)
    	DDX_Control(pDX, IDC_EDIT2, m_editMouth);
    	DDX_Text(pDX, IDC_EDIT1, m_strYear);
    	//}}AFX_DATA_MAP
    }
    
    
    BEGIN_MESSAGE_MAP(SetTime, CDialog)
    	//{{AFX_MSG_MAP(SetTime)
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    
    /////////////////////////////////////////////////////////////////////////////
    // SetTime message handlers
    
    void SetTime::OnOK() 
    {
    	// TODO: Add extra validation here
    	CString tempMouth , tempDay ;
    	UpdateData();
    	year=_ttoi(m_strYear);
    
    	m_editMouth.GetWindowText(tempMouth);
    	mouth=_ttoi(tempMouth); 
    
    	CWnd * cw =GetDlgItem(IDC_EDIT3);
    	cw->GetWindowText(tempDay);
    	day = _ttoi(tempDay);
    
    	CDialog::OnOK();
    }
    int SetTime::getYear(){
    	return year ;
    }
    int SetTime::getMouth(){
    	return mouth ;
    }
    int SetTime::getDay(){
    	return day ;
    }
    


  • 相关阅读:
    简单分页案例
    layer弹出层
    layDate 日期与时间组件 入门
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools":解决方案
    eclipse常用快捷键
    javascript DOM编程艺术(第2版)
    webstorm破解
    Intellij IDEA搭建vue-cli项目
    颜色rgba、hsla
    文本阴影、换行、溢出
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3201406.html
Copyright © 2020-2023  润新知