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

📄 list.h

📁 c语言写的VB编译器
💻 H
字号:
#ifndef __LIST.H__
#define __LIST.H__

#include "State.h"
#include "Key.h"
#include "Const.h"
#include "Type.h"

class List
{
public:
	enum ListConst
	{
		// 标题的最大长度
		MaxLenOfTitle = 10,

		// 最大列表元素数
		MaxItem = 100,

		// 列表元素最大长度
		MaxLenOfItem = 15,

		// 列表元素信息的最大长度
		MaxLenOfMessage = 75
	};

private:

	// 列表的左上角坐标
	int x0;
	int y0;

	// 列表的右下角坐标
	int x1;
	int y1;

	// 首行序号
	int HeadLine;

	// 垂直滚动条游标位置
	int VerticalPos;

	// 标题
	char Title[MaxLenOfTitle];

	// 列表元素总数
	int TotItem;

	// 列表元素结构
	struct ItemType
	{
		// 列表元素名
		char Name[MaxLenOfItem];

		// 列表元素说明信息
		char Message[MaxLenOfMessage];

		// 列表元素被选择标志
		bool Chosen;

	} Item[MaxItem];

	// 文本前景色
	int TextForeground;

	// 文本背景色
	int TextBackground;

	// 边框前景色
	int FrameForeground;

	// 边框背景色
	int FrameBackground;

public:
	List(const int, const int, const int, const int);
	~List();

	// 设置标题
	void SetTitle(const char []);

	// 设置颜色
	void SetColor(const int, const int, const int, const int);

	// 添加列表元素
	void Add(const char [], const char []);

	// 显示列表
	void Show();

	// 由用户选择列表元素
	int Work();

	// 对列表元素进行排序
	void Sort();

	// 激活列表元素
	void Active(const int);

	// 隐藏列表元素
	void Inactive(const int);

	// 重新打印元素列表
	void Refresh();

	// 隐藏列表
	void Hide();

	// 清空列表元素
	void Clear();

	// 滚动处置滚动条游标
	void ScrollVertical(const int);

	// 返回列表顶部行号
	inline int Top() {return x0;}

	// 返回列表左侧列号
	inline int Left() {return y0;}

	// 返回列表底部行号
	inline int Bottom() {return x1;}

	// 返回列表右部列号
	inline int Right() {return y1;}

	// 返回列表文本区高度
	inline int High() {return x1 - x0 - 3;}

	// 返回元素名
	inline char *ItemName(const int No) {return Item[No].Name;}
};

// List类需要调用的外部函数
extern void SetColor(const int,const int);
extern void PrintChar(const int,const int,const char);
extern void Receive(int &);
extern void PrintLine(const int);

// List类需要引用的外部变量
extern int x0;

#endif

⌨️ 快捷键说明

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