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

📄 medit.h

📁 一个很漂亮的数字时钟程序,你一定会喜欢的.
💻 H
字号:
#ifndef __CmEdit_h__
#define __CmEdit_h__

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

class CmEditChar
{
public:    
	CmEditChar() { m_bStaticChar = FALSE; }
	CmEditChar(CString strChars)
	{
		m_strValids = strChars;
		m_bStaticChar = FALSE;
	}
	CmEditChar(CString strChars, BOOL bStaticChar)
	{
		m_strValids = strChars;
		m_bStaticChar = bStaticChar;
	}
    
	CString m_strValids;
	CString m_strData;
	BOOL    m_bStaticChar;
};

#define  MAX_CHARS  256

class CmEdit : public CEdit
{
public:
	CmEdit();
	virtual ~CmEdit();
	
	BOOL    Init(CString strMask, CString strInitialData = "");
	BOOL    SetPromptChar(CString strPromptChar);
	
	void    SetData(const CString& data);
	CString GetData();
	
	//{{AFX_VIRTUAL(CmEdit)
	protected:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	//}}AFX_VIRTUAL

protected:
	BOOL            m_bInit;
	CString         m_strPrompt;
	CmEditChar*     m_Char[MAX_CHARS];
	int             m_iNumChars;
	int             m_iCurrentChar;
	BOOL            m_bShiftDown;
	
	BOOL    Parse(const CString& strMask);
	BOOL    SetValidChars(const CString& strMask);
	CString GetRange(CString szLow, CString szHigh);
	// CString GetText(BOOL bDataOnly = FALSE);
	// CString GetData() { return GetText(TRUE); }
	int     FindNextChar(int iStartPos, BOOL bStatic, BOOL bForward);

	//{{AFX_MSG(CmEdit)
	afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnDestroy();
	afx_msg void OnSetFocus(CWnd* pOldWnd);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
	//}}AFX_MSG
	
	DECLARE_MESSAGE_MAP()
	DECLARE_DYNCREATE(CmEdit)
};

void AFXAPI DDX_CmEdit(CDataExchange* pDX, int nIDC, CmEdit& rControl, CString& data);

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif

⌨️ 快捷键说明

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