📄 guiimectrl.h
字号:
//-----------------------------------------------------------------------------
// guiIMECtrl.h
// 输入法界面
// 李亦编写 2005.11.20
//-----------------------------------------------------------------------------
#ifndef _GUIIMECTRL_H_
#define _GUIIMECTRL_H_
#ifndef _GUITOOLWINDOWCTRL_H_
#include "gui/containers/guiToolWindowCtrl.h"
#endif
class GuiIMECtrl : public GuiToolWindowCtrl
{
friend class GuiIMECtrl;
private:
typedef GuiToolWindowCtrl Parent;
enum EConstants
{
//以下顺序不可变更
E_SHARP = 0,
E_SYMBOL,
E_NEXT,
E_TOGGLE,
E_INPUT,
E_INPUT2,
E_LIST,
//...
E_MAX
};
protected:
//GuiControl* m_pProxyTop;
GuiControl* m_arCtrls[E_MAX];
//GuiControl* m_pContainer;
//GuiMLTextCtrl* m_pTxtInput;
//GuiMLTextCtrl* m_pTxtInput2;
//GuiMLTextCtrl* m_pTxtList;
bool m_bDefault;
static StringTableEntry s_szSymbol[];
static StringTableEntry s_szSymbol2[];
public:
//creation methods
DECLARE_CONOBJECT(GuiIMECtrl);
GuiIMECtrl();
~GuiIMECtrl();
static void initPersistFields();
//Parental methods
bool onWake();
//void onSleep();
//bool onAdd();
//初始化默认IME
void InitDefaultIME();
static void DestroyDefaultIME(GuiIMECtrl* pCtrl);
void CalcDefaultPos();
void FitControl();
void SetIMEText(U32 eType,CSTR sText);
void FitPosByCursor(S32 nCursorPos);
virtual void OnInputLangChange(bool bOpen);
virtual void OnIMENotify(U32 uCode);
virtual void OnIMEComposition(U32 uFlag);
virtual void OnToggleIME(bool bSet);
//void onRender(Point2I offset, const RectI &updateRect);
//事件实现
//bool onInputEvent(const InputEvent &event);
//void SetProxyTop(GuiControl* pProxy) {m_pProxyTop = pProxy;}
//bool IsProxyTop(GuiControl* pProxy) {return m_pProxyTop == pProxy;}
//GuiControl* GetProxyTop() {return m_pProxyTop;}
protected:
void SetIMEButton(U32 eType);
void AddNewText(U32 eType);
void ToggleCtrl(EConstants eType,bool bSet);
};
//extern GuiIMECtrl* g_pGuiIMEPanel;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -