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

📄 guiedit.h

📁 HGE 2D游戏引擎制作的一个演示
💻 H
字号:
/**********************************************
				编辑框输入类
**********************************************/
#pragma once
#include "GUI.h"

#define MAX_STRING	1024
#define FLASH_FRAME	6


class GUIEdit :
	public GUI
{
public:
	GUIEdit(void);
	~GUIEdit(void);

protected:
	DWORD			m_dwTextColor;					//文本颜色
	DWORD			m_dwFrameColor;					//框架颜色
	bool			m_bDrawCursor;					//绘制光标
	WORD			m_nCursorPos;					//当前光标位置
	float			m_CursorX;						//光标当前位置
	float			m_TextStartPos;					//文本绘制的开始坐标

	char			m_szText[MAX_STRING];			//真正需要显示的字符串,根据字符池刷新
	vector <struct st_Char*> m_pCharArray;			//字符串池

public:
	///创建编辑框
	bool CreateGUIEdit(char* lpszName,float strlength,GUI* pParent);
	void SetEditString(char* str);
	char* GetEditString();
	void ClearEditString();

protected:
	void ClearCharArray();
	void UpdataText();
	void UpdataCursor();
	bool DelChar(WORD nPos);
	bool AddChar(char* str,bool bIME);
	char* GetCursorString(WORD nCursor);

public:
	void SetTextColor(DWORD col);
	void SetFrameColor(DWORD col);

	DWORD GetTextColor(DWORD col);
	DWORD GetFrameColor(DWORD col);

public:
	virtual void Render();
	virtual void Updata(float dt);
	virtual void TimeFrame();
	virtual int OnMessage(UINT iMsg, WPARAM wParam, LPARAM lParam);				///如果要调用某对象的函数,用这个接口进行即可
	virtual int OnCharMsg(UINT iMsg, WPARAM wParam, LPARAM lParam);				///字符消息,用这个接口直接接受键盘消息
	virtual int OnMouseLButton(float x,float y,bool down);						///左键按下松开(在区域内)
};

⌨️ 快捷键说明

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