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

📄 dlgtwolineinput.cpp

📁 视频芯片管理系统
💻 CPP
字号:
// DlgTwoLineInput.cpp : implementation file
//

#include "stdafx.h"
#include "..\DogMgt.h"
#include "dlgtwolineinput.h"
#include "..\\DogMgt_Core\\DogMgt_Base.h"
#include "..\\DogMgt_Core\\GlobalFunc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgTwoLineInput dialog


CDlgTwoLineInput::CDlgTwoLineInput(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgTwoLineInput::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgTwoLineInput)
	m_strStartPrompt = _T("");
	m_strEndPrompt = _T("");
	//}}AFX_DATA_INIT
	m_InputFlag = INPUT_DATE;
}


void CDlgTwoLineInput::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgTwoLineInput)
	DDX_Control(pDX, IDCANCEL, m_btnCancel);
	DDX_Control(pDX, IDOK, m_btnOK);
	DDX_Control(pDX, IDC_EDIT_START, m_ctrlStart);
	DDX_Control(pDX, IDC_EDIT_END, m_ctrlEnd);
	DDX_Text(pDX, IDC_STATIC_START, m_strStartPrompt);
	DDX_Text(pDX, IDC_STATIC_END, m_strEndPrompt);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgTwoLineInput, CDialog)
	//{{AFX_MSG_MAP(CDlgTwoLineInput)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgTwoLineInput message handlers

///设置对话框标题
/**
  * pTitle : 对话框标题 \n
  */
void CDlgTwoLineInput::SetTitle(char *pTitle)
{
	m_strTitle = pTitle;
}

///设置成日期输入格式
void CDlgTwoLineInput::SetDateFormat()
{
	m_InputFlag = INPUT_DATE;
}

///设置成发票号输入格式
void CDlgTwoLineInput::SetInvoiceNoFormat()
{
	m_InputFlag = INPUT_INVOICENO;
}

///获取日期输入结果
/**
  * StartDate : 返回输入的起始日期 \n
  * EndDate : 返回输入的终止日期 \n
  * 返回 : SUCC/FAIL
  */
int CDlgTwoLineInput::GetDateResult(unsigned char *StartDate, unsigned char *EndDate)
{
	if(m_InputFlag!=INPUT_DATE){
		return FAIL;
	}

	memcpy(StartDate, m_StartDate, 4);
	memcpy(EndDate, m_EndDate, 4);
	return SUCC;
}

///返回发票号输入结果
/**
  * StartNo : 返回输入的起始发票号 \n
  * EndNo : 返回输入的终止发票号 \n
  * 返回 : SUCC/FAIL
  */
int CDlgTwoLineInput::GetNoResult(unsigned int &StartNo, unsigned int &EndNo)
{
	if(m_InputFlag!=INPUT_INVOICENO){
		return FAIL;
	}

	StartNo = m_StartNo;
	EndNo = m_EndNo;
	return SUCC;
}


BOOL CDlgTwoLineInput::OnInitDialog() 
{
	CDialog::OnInitDialog();

	m_btnOK.SetIcon(IDI_OK);
	m_btnCancel.SetIcon(IDI_CANCEL);

	SetWindowText(m_strTitle);

	if(m_InputFlag==INPUT_DATE){
		m_ctrlStart.SetDateFormat();
		m_ctrlEnd.SetDateFormat();
		m_strStartPrompt = "起始日期:";
		m_strEndPrompt = "终止日期:";
	}
	else{
		m_ctrlStart.SetIntFormat(1, 99999999);
		m_ctrlEnd.SetIntFormat(1, 99999999);
		m_strStartPrompt = "起始发票号:";
		m_strEndPrompt = "终止发票号:";
	}

	m_ctrlStart.SetFocus();
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgTwoLineInput::OnOK() 
{
	if(m_InputFlag==INPUT_DATE){
		if(m_ctrlStart.GetDateResult(m_StartDate)!=SUCC){
			return;
		}
		if(m_ctrlEnd.GetDateResult(m_EndDate)!=SUCC){
			return;
		}
		if(CmpBcdDate(m_StartDate, m_EndDate)>0){
			ShowMsg("起始日期不能大于终止日期.");
			return;
		}
	}
	else{
		if(m_ctrlStart.GetIntResult(m_StartNo)!=SUCC){
			return;
		}
		if(m_ctrlEnd.GetIntResult(m_EndNo)!=SUCC){
			return;
		}
		if(m_EndNo < m_StartNo){
			ShowMsg("起始发票号不能大于终止发票号.");
			return;
		}
	}
		
	CDialog::OnOK();
}

CDlgTwoLineInput g_DlgTwoLineInput;

⌨️ 快捷键说明

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