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

📄 listbox.h

📁 本程序是使用CDMA450模块开发的一个无线公话完整程序
💻 H
字号:
/**
 *file listbox.h
 *@
 */
#ifndef  _COMPONENT_LISTBOX
#define  _COMPONENT_LISTBOX

#include "component.h"
#include "scrollbar.h"

typedef struct listbox		listbox_t;

typedef int (*draw_item_f)(listbox_t *lb, rect *rc, int num);

/*
 listbox_t --- 列表框数据结构
 */
//例如共有10个条目
//每个窗口显示4条
//	int first 当前窗口的第一条;< 当前页的第一项 >
//	int itemnum=10; < 条目总数>
//	int listrow;当前窗口可以显示的条数 < 列表框可显示的项数目>
//	int select; < 当前选中的列表项>
struct listbox {
	component_t		comp;					/**< 列表框组件 */
	scrollbar_t		scroll;					/**< 滚动条 */ 
	int				idScroll;				/**< 是否有滚动条 */
	int				first;					/**< 当前页的第一项 */
	int				itemnum;				/**< 条目总数  */
	int				listrow;				/**< 列表框可显示的项数目 */ 
	int				select;					/**< 当前选中的列表项 */
	int				rowHeight;				/**< 条目高度 */
	draw_item_f		itemDraw;				/**< 自画每一条目 */
};

/**
 *XCreateListBox --- 创建列表框
 */
int XCreateListBox(component_t		*parent,
				   listbox_t		*listBox,
				   const rect		*rc,
				   int				maxItem,
				   int				rowHeight,
				   draw_item_f		drawItem);


int XListBoxSet(listbox_t		*listBox,
			   int				maxItem,
			   int				rowHeight,
			   draw_item_f		drawItem);

int XListBoxSetCurrent(listbox_t *lb, int pos);
				
int XListBoxGetSelect(listbox_t *lb);
int XListBoxGetNumber(listbox_t *lb);

int XListBoxKeyHandle(listbox_t *lb, int key);

#endif

⌨️ 快捷键说明

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