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

📄 cimeex.h

📁 墨香最新私服
💻 H
字号:
#ifndef _CIMEEX_H
#define _CIMEEX_H


//=====================================================================
// Since : 2003.8.30
// Kang Eun Sung
// Last Updated : 2003.9.15
//=====================================================================

#define MAX_LINE	256


enum eEndKind	//sLineDesc ÀÇ nEndKind Á¾·ù
{
	EK_END,
	EK_ENTER,
	EK_WRAP,	
};


struct sLineDesc
{
	int nStartIndex;
	int nLen;
	int nEndKind;
	//¹®ÀÚ¿­ÀÇ ½ÇÁ¦ ±æÀ̸¦ ³ÖÀÚ
};


struct sInsertPos
{
	int nLine;
	int nIndex;
};


enum eValidCheckMehtod
{
	VCM_DEFAULT,
	VCM_NUMBER,
	VCM_CHARNAME,
	VCM_ID,
	VCM_PASSWORD,
	VCM_DBPARAM,
};


enum eIMEEVENT
{
	eIMEE_ENTER,
	eIMEE_SETFOCUS,
	eIMEE_KILLFOCUS,
//	eIMEE_INSERTTEXT,
};


/////////////////////////////
// Ãß°¡ µÉ °Í
// 1. ¸¶¿ì½º·Î ij·µ Æ÷Áö¼Ç ¹Ù²Ù±â
// 2. ºí·° Áö¿ì±â, º¹»ç, ºÙÀ̱â
// 3. PageUp, Down
// 4. Insert - Overide toggle

class cEditBox;

class cIMEex
{

protected:

	WORD			m_wFontIdx;

	char*			m_pStrBuf;
	sLineDesc*		m_pLineDesc;

	sInsertPos		m_InsertPos;		//ÇöÀçÀ§Ä¡( »ðÀ﵃ °÷ )
	int				m_nCurTotalLen;		//ÃÑ ±æÀÌ( ÃÑ ±ÛÀÚ¼ö )
	int				m_nCurTotalLine;	//ÃÑ ¶óÀÎ ¼ö

	int				m_nMaxTotalLen;		//±æÀÌ Á¦ÇÑ( ±ÛÀÚ¼ö Á¦ÇÑ )
	int				m_nMaxTotalLine;	//¶óÀÎ ¼ö Á¦ÇÑ
	int				m_nLimitWidth;		//Á¦ÇÑ Æø

	BOOL			m_bCompositing;
	BOOL			m_bMultiLine;

	BOOL			m_bChanged;
	
	cEditBox*		m_pParentEdit;

	BOOL			m_bEnterAllow;

//--- For Invalid Check.
	int				m_nValidCheckMethod;


protected:

	int		GetInsertIndex()	{ return m_pLineDesc[m_InsertPos.nLine].nStartIndex + m_InsertPos.nIndex; }
	char*	GetInsertBufPtr()	{ return m_pStrBuf + GetInsertIndex(); }

public:

	cIMEex();
	virtual ~cIMEex();

	void Init( int nMaxBufSize = 256, int nPixelWidth = 1024, BOOL bMultiLine = FALSE, int nMaxLine = MAX_LINE );
	void Release();

//Input String
	BOOL Insert( char* str );

	BOOL Enter();
	BOOL Wrap( int nStartLine );		//protected?


//Get String Func.
	BOOL GetLineText( int nLine, char* strText, int* pStrLen = NULL );
	sInsertPos* GetInsertPos() { return &m_InsertPos; }

	
//Move Insert Position Func.
	BOOL CaretMoveLeft();
	BOOL CaretMoveRight();
	BOOL CaretMoveUp();
	BOOL CaretMoveDown();
	BOOL CaretMoveHome();
	BOOL CaretMoveEnd();
	BOOL CaretMoveFirst();

//Delete Func.
	BOOL DeleteAfter();		//Delete key
	BOOL DeleteBefore();	//Back Space key
	BOOL DeleteAllText();
//	BOOL DeleteLine();

//Set Input Help Func.
	void SetCompositing( BOOL bCompositing )	{ m_bCompositing = bCompositing; }

//Set Attr Func.
	void SetFont( WORD wFontIdx ) { m_wFontIdx = wFontIdx; }
	
//Get Attr Func.
	int GetTotalLine()	{ return m_nCurTotalLine; }
	int GetValidCheckMethod() { return m_nValidCheckMethod; }
//For Script
	void SetScriptText( char* str );
	void GetScriptText( char* str );

//For Invalid Check.
	void SetValidCheckMethod( int nSetNum );
	BOOL IsValidChar( unsigned char* str );

	BOOL IsChanged( BOOL bInit = TRUE )
	{
		BOOL bResult = m_bChanged;
		if( bInit ) m_bChanged = FALSE;
		return bResult;
	}

	void CheckAfterChange();

//For Limit
	BOOL SetLimitLine( int nMaxLine );
	void SetEnterAllow( BOOL bAllow ) { m_bEnterAllow = bAllow; }

//Set Parent for only Edit	
	void SetParentEdit( cEditBox* pEdit )		{ m_pParentEdit = pEdit; }
	cEditBox* GetParentEdit()					{ return m_pParentEdit; }
};




#endif

⌨️ 快捷键说明

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