EditCtrl.h
上传用户:maxiaolivb
上传日期:2022-06-07
资源大小:915k
文件大小:1k
- #pragma once
- #include "extern.h"
- #define MAX_STRING 1024
- struct st_Char
- {
- bool bIME;
- char szChar[3];
- };
- class EditCtrl :
- public hgeGUIObject
- {
- public:
- EditCtrl(int nId, float fPosX, float fPosY, float fWidth, float fHeight, DWORD dwTextColor, DWORD dwFrameColor);
- ~EditCtrl(void);
- virtual void Render();
- virtual void Update(float dt);
- virtual void Focus(bool bFocused);
- virtual bool KeyClick(int key, int chr);
- protected:
- bool m_bFocus;
- char m_szText[MAX_STRING];
- DWORD m_dwTextColor;
- DWORD m_dwFrameColor;
- float m_fTime;
- bool m_bBlink;
- int m_nCurPos;
- bool m_bComposition; //是否正在组字状态
- vector <st_Char*> m_pCharArray; //字符池
- // 添加一个新的IME字符
- bool AddCharEx(const char *szNewChar,int nPos = -1);
- // 添加一个普通的字符
- bool AddChar(const char szNewChar,int nPos = -1);
- // 删除一个指定位置的字符
- bool DelChar(int nPos);
- // 清除字符池
- void ClearCharArray();
- // 重绘光标
- void RedrawCursor();
- // 刷新字符串数据
- void UpdataString();
- public:
- // 开始组字状态
- void StartComposition();
- // 结束组字状态
- void EndComposition();
- // 是否组字状态
- bool IsComposition(){return m_bComposition;};
- // 组字字符消息
- void OnImeCharMsg(const char *szNewChar);
- };