📄 dlgtwolineinput.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 + -