mystdin.h

来自「设计模式:工厂模式、单例模式的基本实现」· C头文件 代码 · 共 68 行

H
68
字号
#ifndef _MYSTDIN_H
#define _MYSTDIN_H

#include <string>
#include <windows.h>
using namespace std;

enum VKEY
{
	VKEY_TAB = 9,
	VKEY_ENTER = 13,
	VKEY_BACK = 8,
	VKEY_ESC = 27,
	VKEY_UNKNOWN = 1000,
	VKEY_F1,
	VKEY_F2,
	VKEY_F3,
	VKEY_F4,
	VKEY_F5,
	VKEY_F6,
	VKEY_F7,
	VKEY_F8,
	VKEY_F9,
	VKEY_F10,
	VKEY_F11,
	VKEY_F12,
	VKEY_UP,
	VKEY_DOWN,
	VKEY_LEFT,
	VKEY_RIGHT,	
	VKEY_HAN,
};

class CMyText
{
public:
	CMyText(int nTop, int nLeft, int nRight, bool bPass=false);
	virtual ~CMyText();
	int		Handle();
	string	GetText();
	void Enable();
	void Disable();
	void SetText(string strText);
	void Show();
	void Hide();
	static void GotoXY(int _nX, int _nY);
	static void GetXY(int &nX, int &nY);
	static HANDLE	m_nConHdl;	// 控制台句柄

private:
	string	m_strText;	// 文本框中的字符串
	int		m_nTop;		// 文本框的所在行
	int		m_nLeft;	// 所在起始列
	int		m_nRight;	// 所在终止列
	int		m_nCurYPos;	// 当前光标所在位置,从m_nLeft开始算
	bool	m_bEnable; // 是否可以修改
	bool	m_bVisible; // 是否可见
	bool	m_bPass;	// 是否为密码框

protected:
	int GetKey(char *pszHan);
	void DelChar();
	void AddChar(char chIn);
	void DrawBk();
	void ShowText();
};

#endif

⌨️ 快捷键说明

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