⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alermview.cpp

📁 一些有用的资料,关于数学的常微分方程和线形代数的,快去下载吧
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// ALERMView.cpp : implementation of the CALERMView class
//

#include "stdafx.h"
#include "ALERM.h"

#include "ALERMSet.h"
#include "ALERMDoc.h"
#include "ALERMView.h"
#include"taskdlg.h"
#include"math.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


float angle=0;
double PI=3.141592653;
POINT  centerpos;
POINT  timepos;
POINT  now_h,now_m,now_s;
char Title[50];
int Len=0,i=0;
int halfflag=0,intflag=0;
CString NowTime="";
SYSTEMTIME time0;
CTime m_now;
int flag=0;
int timenumber=0,pixelpos=0;
char timeword[2];
RECT rc;
long nowID=0;
int IDCount;

typedef struct
{
	int hour,minute,second;
	long id;
	CString context;
	BOOL power;
}ALERM;
ALERM alerm[600];





/////////////////////////////////////////////////////////////////////////////
// CALERMView

IMPLEMENT_DYNCREATE(CALERMView, CRecordView)

BEGIN_MESSAGE_MAP(CALERMView, CRecordView)
	//{{AFX_MSG_MAP(CALERMView)
	ON_BN_CLICKED(IDC_btn_DELETE, OnbtnDELETE)
	ON_BN_CLICKED(IDC_btn_EDIT, OnbtnEDIT)
	ON_BN_CLICKED(IDC_btn_NEW, OnbtnNEW)
	ON_BN_CLICKED(IDC_SEPROTER, OnSeproter)
	ON_WM_PAINT()
	ON_WM_TIMER()
	ON_WM_CREATE()
	ON_WM_MOUSEMOVE()
	ON_BN_CLICKED(IDC_POWER, OnPower)
	ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRclickList1)
	ON_COMMAND(IDM_DELETE, OnDelete)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	ON_COMMAND(IDM_EDIT, OnEdit)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_COMMAND(ID_FILE_NEW, OnFileNew)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CALERMView construction/destruction

CALERMView::CALERMView()
	: CRecordView(CALERMView::IDD)
{
	//{{AFX_DATA_INIT(CALERMView)
	m_pSet = NULL;
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CALERMView::~CALERMView()
{
}

void CALERMView::DoDataExchange(CDataExchange* pDX)
{
	CRecordView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CALERMView)
	DDX_Control(pDX, IDC_LIST1, m_Report);
	DDX_Control(pDX, IDC_MSFLEXGRID1, m_LIST);
	DDX_FieldText(pDX, IDC_EDIT1, m_pSet->m___ID, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT2, m_pSet->m_column1, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT3, m_pSet->m_column2, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT4, m_pSet->m_column3, m_pSet);
	DDX_FieldText(pDX, IDC_EDIT5, m_pSet->m_column4, m_pSet);
	DDX_FieldCheck(pDX, IDC_POWER, m_pSet->m_column5, m_pSet);
	//}}AFX_DATA_MAP
}

BOOL CALERMView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CRecordView::PreCreateWindow(cs);
}

void CALERMView::OnInitialUpdate()
{
	m_pSet = &GetDocument()->m_aLERMSet;
	CRecordView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();

/*	while(!m_pSet->IsEOF())
	{
		m_pSet->MoveNext();
		m_pSet->GetRecordCount();
	}
	m_pSet->MoveFirst();

	m_LIST.SetCols(5);
	m_LIST.SetRows(m_pSet->GetRecordCount()+1);
	m_LIST.SetColWidth(-1,800);
	m_LIST.SetColWidth(4,4000);

	m_LIST.SetRow(0);
	m_LIST.SetCol(0);
	m_LIST.SetText("闹钟");

	m_LIST.SetRow(0);
	m_LIST.SetCol(1);
	m_LIST.SetText("闹钟-时");

	m_LIST.SetRow(0);
	m_LIST.SetCol(2);
	m_LIST.SetText("闹钟-分");

	m_LIST.SetRow(0);
	m_LIST.SetCol(3);
	m_LIST.SetText("闹钟-秒");

	m_LIST.SetRow(0);
	m_LIST.SetCol(4);
	m_LIST.SetText("提醒内容");

	int iRow=1;
	while(!m_pSet->IsEOF())
	{
		CString str;
		str.Format("闹钟%d",m_pSet->m___ID);
		m_LIST.SetCol(0);
		m_LIST.SetRow(iRow);
		m_LIST.SetText(str);

	    CString temp1;
		temp1.Format("%d",m_pSet->m_column1);
		m_LIST.SetRow(iRow);
		m_LIST.SetCol(1);
		m_LIST.SetText(temp1);
		m_LIST.SetRow(iRow);

        CString temp2;
		temp2.Format("%d",m_pSet->m_column2);
		m_LIST.SetRow(iRow);
		m_LIST.SetCol(2);
		m_LIST.SetText(temp2);

		CString temp3;
		temp3.Format("%d",m_pSet->m_column3);
		m_LIST.SetRow(iRow);
		m_LIST.SetCol(3);
		m_LIST.SetText(temp3);

		CString temp4;
		temp2.Format("%d",m_pSet->m_column4);
		m_LIST.SetRow(iRow);
		m_LIST.SetCol(3);
		m_LIST.SetText(temp4);

		m_LIST.SetRow(iRow);
		m_LIST.SetCol(4);
		m_LIST.SetText(m_pSet->m_column4);
		iRow++;
		m_pSet->MoveNext();
	}

	m_LIST.SetRow(1);
	m_LIST.SetCol(1);
	m_pSet->MoveFirst();
	*/

	DWORD dwStyle;
	dwStyle = m_Report.GetStyle();
	dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_SHOWSELALWAYS ;
	m_Report.SetExtendedStyle(dwStyle);
	m_Report.SetBkColor(RGB(240,247,233));
	m_Report.SetTextBkColor(RGB(240,247,233));

	if(flag==0)
	{
	m_Report.InsertColumn(0,"闹钟ID",LVCFMT_LEFT,50,0);//设置列	
	m_Report.InsertColumn(1,"闹钟-时",LVCFMT_LEFT,80,1);	
	m_Report.InsertColumn(2,"闹钟-分",LVCFMT_LEFT,80,2);
	m_Report.InsertColumn(3,"闹钟-秒",LVCFMT_LEFT,80,3);
	m_Report.InsertColumn(4,"提醒内容",LVCFMT_LEFT,300,4);
	flag=1;
	}


	m_pSet->MoveLast();
	while(!m_pSet->IsBOF())
	{
		
		m_pSet->GetRecordCount();
		
		CString str0;
		str0.Format("%d",m_pSet->m___ID);
		m_Report.InsertItem(0,str0);//插入行
		
		CString str1;
		str1.Format("%d",m_pSet->m_column1);
		m_Report.SetItemText(0,1,str1);//设置该行的不同列的显示字符
		
		CString str2;
		str2.Format("%d",m_pSet->m_column2);
		m_Report.SetItemText(0,2,str2);

		CString str3;
		str3.Format("%d",m_pSet->m_column3);
		m_Report.SetItemText(0,3,str3);

		m_Report.SetItemText(0,4,m_pSet->m_column4);

		m_pSet->MovePrev();
	}
	
	
	
	
	
	/*	m_Report.SetRow(0);
	m_Report.SetCol(0);
	m_Report.SetText("闹钟");
	
	  
		int iRow=1;
		while(!m_pSet->IsEOF())
		{
		CString str;
		str.Format("闹钟%d",m_pSet->m___ID);
		m_Report.SetCol(0);
		m_Report.SetRow(iRow);
		m_Report.SetText(str);
		
		  CString temp1;
		  temp1.Format("%d",m_pSet->m_column1);
		  m_Report.SetRow(iRow);
		  m_Report.SetCol(1);
		m_Report.SetText(temp1);
		m_Report.SetRow(iRow);

		iRow++;
		m_pSet->MoveNext();
	}*/


}

/////////////////////////////////////////////////////////////////////////////
// CALERMView printing

BOOL CALERMView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CALERMView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
	
}

void CALERMView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CALERMView diagnostics

#ifdef _DEBUG
void CALERMView::AssertValid() const
{
	CRecordView::AssertValid();
}

void CALERMView::Dump(CDumpContext& dc) const
{
	CRecordView::Dump(dc);
}

CALERMDoc* CALERMView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CALERMDoc)));
	return (CALERMDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CALERMView database support
CRecordset* CALERMView::OnGetRecordset()
{
	return m_pSet;
}


/////////////////////////////////////////////////////////////////////////////
// CALERMView message handlers

void CALERMView::OnbtnDELETE() 
{
	// TODO: Add your control notification handler code here
	if(!m_pSet->IsEOF()&&IDYES==MessageBox("真的要删除这组闹钟吗?","提示",MB_YESNO))
	{
		m_pSet->Delete();
		MessageBox("成功删除一组闹钟");
		m_pSet->Requery();
		UpdateData(FALSE);
		CRecordsetStatus rStatus;
		m_pSet->GetStatus(rStatus);
		initial();
		m_pSet->SetAbsolutePosition(rStatus.m_lCurrentRecord+1);
		m_Report.DeleteAllItems();
		OnInitialUpdate();
	}
	
	

}

void CALERMView::OnbtnEDIT() 
{
	// TODO: Add your control notification handler code here
	CTASKDLG samdlg;
	nowID=m_pSet->m___ID;
	samdlg.m_ID=m_pSet->m___ID;
	samdlg.m_HOUR=m_pSet->m_column1;
	samdlg.m_MINUTE=m_pSet->m_column2;
	samdlg.m_SECOND=m_pSet->m_column3;
	samdlg.m_CONTEXT=m_pSet->m_column4;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -