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

📄 guilist.h

📁 HGE 2D游戏引擎制作的一个演示
💻 H
字号:
#pragma once
#include "GUI.h"

//列文本对齐模式
enum LISTTEXTALIGN
{
	LISTTEXTALIGN_LEFT		= 0,		//左对齐
	LISTTEXTALIGN_CENTER	= 1,		//置中
	LISTTEXTALIGN_RIGHT		= 2			//右对齐
};

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

protected:
	int									m_nColLimit;					//每项中最多拥有多少列
	float								m_fRowDistance;					//每项文本显示的高度范围
	vector<float>						m_fColDistance;					//每列文本显示的宽度范围
	vector<BYTE>						m_nTextAlignType;				//每列文本对齐方式
	vector<string>						m_nColTitleText;				//每列的标题文本
	vector<struct st_ListItem*>			m_pListItemArray;				//全部项数据
	vector<class GUIListColData*>		m_pTitleItemArray;				//标题项数据
	GUIPoint							m_ptScrollPos;					//所有项的起始位置
	DWORD								m_dwColor;						//普通状态显示的颜色
	DWORD								m_dwSelColor;					//被选择状态显示的颜色
	DWORD								m_dwTitleColor;					//标题栏文本颜色
	int									m_nSelectLine;					//当前被选择的行

	float	GetCurColPos(int col);										//获得指定列的起始位置

public:
	bool	CreateGUIList(char* name,float width,float height,int collimit,float rowdistance,char* titleback,GUI* pParent);
	void	SetListTextColor(DWORD color,DWORD selcolor,DWORD titlecolor);	//设置列表框文本颜色
	bool	SetRowDistance(float dis);									//设置行高
	bool	SetColDistance(int col,float dis);							//设置列宽
	bool	SetTextAlignType(int col,BYTE type=0);						//设置文本对齐方式
	void	SetScrollPosX(float x);										//上下滚动列表框内容
	void	SetScrollPosY(float y);										//左右滚动列表框内容
	int		GetListCount();

public:
	int		InsertItem(string text);									//插入一项数据,参数内容为该行的首列文本
	bool	DeleteItem(int row);										//删除某行的数据
	void	DeleteAllItem();											//删除所有项
	bool	SetItemColText(int row,int col,string text);				//设置某项某列的文本内容
	string	GetItemColText(int row,int col);							//获得某行某列的文本内容
	void	SelectLine(int nLine);										//选择行

	float	GetGUIListWidth();
	float	GetGUIListHeight();

	bool	SetTitleColText(int col,string text);						//设置标题某列的文本内容

public:
	virtual void Render();
	virtual void OnChildMessage(GUI* pChildGUI,UINT iMsg, WPARAM wParam, LPARAM lParam);///子对象发送了命令请求

};

⌨️ 快捷键说明

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