?? 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 + -