?? dlglineinput.h
字號:
#if !defined(AFX_DLGLINEINPUT_H__6741A6C1_1191_40FA_A4DE_7825E7EFD3C3__INCLUDED_)
#define AFX_DLGLINEINPUT_H__6741A6C1_1191_40FA_A4DE_7825E7EFD3C3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DlgLineInput.h : header file
//
#include "BtnST.h"
#include "EditST.h"
/////////////////////////////////////////////////////////////////////////////
// CDlgLineInput dialog
///單行輸入窗口類,用來輸入單項輸入,如日期,發(fā)票號,付款單位等.使用g_DlgLineInput變量來輸入數(shù)據(jù).
/**
* 使用方法: \n
* (1)設(shè)置標(biāo)題:g_DlgLineInput.SetTitle(窗口標(biāo)題); \n
* (2)設(shè)置輸入提示信息:g_DlgLineInput.SetPromt(提示信息); \n
* (3)設(shè)置輸入格式,輸入范圍:g_DlgLineInput.SetStrFormat, SetDateFormat, SetIntFormat 等 \n
* (4)顯示對話框:g_DlgLineInput.DoModal(); \n
* (5)獲取輸入結(jié)果:g_DlgLineInput.GetStrResult, GetDateResult, GetIntResult等 \n
* 如: \n
* //輸入字符串 \n
* char PayUnit[41]; \n
* g_DlgLineInput.SetTitle("輸入付款單位"); \n
* g_DlgLineInput.SetPrompt("請輸入付款單位:"); \n
* g_DlgLineInput.SetStrFormat(40); \n
* g_DlgLineInput.DoModal(); \n
* g_DlgLineInput.GetStrResult(PayUnit); \n
* 共支持8種輸入格式:字符串/整數(shù)/BCD/HEX/金額/數(shù)量/日期/時間 \n
* 詳見 TestDlgLineInput 函數(shù) \n
*/
class CDlgLineInput : public CDialog
{
// Construction
public:
CDlgLineInput(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDlgLineInput)
enum { IDD = IDD_LINE_INPUT };
CButtonST m_btnCancel;
CButtonST m_btnOK;
CEditST m_ctrlInput;
CString m_strInput;
CString m_strPrompt;
//}}AFX_DATA
enum InputFlag{
INPUT_STR = 0,//字符串
INPUT_INT,//整數(shù)
INPUT_BCD,//BCD
INPUT_HEX,//HEX
INPUT_AMOUNT,//金額
INPUT_FLTNUM,//總參數(shù)量
INPUT_DATE,//日期
INPUT_TIME,//時間
};
void SetTitle(const char *pTitle);
void SetPrompt(const char *pPrompt);
//設(shè)成字符串輸入格式
void SetStrFormat(unsigned int MaxLength = 40);
//設(shè)成整數(shù)輸入格式,默認(rèn)最小值0,最大值FFFFFF
void SetIntFormat(unsigned int MinInt=0, unsigned int MaxInt=0xFFFFFFFF);
//設(shè)成BCD輸入格式
void SetBcdFormat(unsigned int BcdLength);
//設(shè)成十六進(jìn)制數(shù)輸入格式
void SetHexFormat(unsigned int HexLength);
//設(shè)成金額輸入格式
void SetAmountFormat();
//設(shè)成總參數(shù)量輸入格式
void SetFltNumFormat();
//設(shè)成日期輸入格式,范圍
void SetDateFormat();
void SetMinDate(const unsigned char *MinDate=NULL);
void SetMaxDate(const unsigned char *MaxDate=NULL);
//設(shè)成時間輸入格式
void SetTimeFormat();
//獲取字符串的輸入結(jié)果
int GetStrResult(char *StrBuf);
//獲取整數(shù)的輸入結(jié)果
int GetIntResult(unsigned int &Result);
//獲取BCD的輸入結(jié)果
int GetBcdResult(unsigned char *BcdBuf, unsigned int &LenBuf);
//獲取十進(jìn)制的輸入結(jié)果
int GetHexResult(unsigned char *HexBuf, unsigned int &LenBuf);
//獲取金額輸入結(jié)果,以分為單位
int GetAmountResult(unsigned int &Amount);
//獲取總參數(shù)量輸入結(jié)果
int GetFltNumResult(unsigned int &NumWithoutDot, unsigned char &FloatPartOfLength);
//獲取日期輸入結(jié)果
int GetDateResult(unsigned char *DateBuf);
int GetDateResult(unsigned int &Year, unsigned char &Month, unsigned char &Day);
//獲取時間輸入結(jié)果
int GetTimeResult(unsigned char &Hour, unsigned char &Minute, unsigned char &Second);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDlgLineInput)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
CString m_strTitle;//標(biāo)題
InputFlag m_InputFlag;//輸入格式
char m_strResult[500];//字符串結(jié)果,范圍
unsigned int m_strMaxLength;
unsigned int m_intResult, m_intMinInt, m_intMaxInt;//整數(shù)結(jié)果,范圍
unsigned char m_bcdResult[500];//BCD輸入結(jié)果,范圍
unsigned int m_bcdLength;
unsigned char m_hexResult[500];//HEX輸入結(jié)果,范圍
unsigned char m_hexLength;
unsigned int m_amountResult;//金額輸入結(jié)果
unsigned int m_numWithoutDot;//數(shù)量輸入結(jié)果
unsigned char m_floatPartLength;//小數(shù)部分長度
unsigned char m_dateMin[5], m_dateMax[5], m_dateResult[5];//日期輸入結(jié)果,范圍
unsigned int m_Year;
unsigned char m_Month;
unsigned char m_Day;
unsigned char m_Hour, m_Minute, m_Second;//時間輸入結(jié)果
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDlgLineInput)
virtual BOOL OnInitDialog();
virtual void OnOK();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
extern CDlgLineInput g_DlgLineInput;
extern void TestDlgLineInput();
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DLGLINEINPUT_H__6741A6C1_1191_40FA_A4DE_7825E7EFD3C3__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -