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

📄 combobox.c

📁 这是一个支持"微型嵌入式 GUI" 的 SDK For Linux 版,其 GUI 核心可于 Linux, DOS 16/32 Bit, uC/OS-II及Windows 等平台工作,支持常用
💻 C
字号:
/*
ComboBox - 组合框
www.ecub2006.com
*/
#include "gui.h" /* GUI 的头文件 */

#define ITEM_NUM 3 /* 项目数*/

const MENU mymenu[]={
{0,"苹果",0,0},
{1,"香蕉",0,0},
{2,"西瓜",0,0}
};

void MyWin(HAND hd,MESSAGE msg) /* 窗口的消息处理函数 */
{
HAND box;/* 句柄 */
int i;
if(msg.type == GM_SYSTEM)/* 判断消息类型,消息类型全部为大写  */
	switch(msg.message)/* 判断消息 */
	{
	case GM_Create:/* 对象被创建后产生该消息,一般情况下,收到该消息时,
                对象还没有显示。可以在这里进行一些初始化工作。
				如果是窗口的GM_Create消息,可以创建新的对象,如 BUTTON 等 */

                box=CreateObject(hd,COMBOBOX,1,1,"Combobox",10,50,210,70,0,0);
				SetObjVar(hd,box);
				for(i=0;i<ITEM_NUM;i++)
		        AddMenu(box,&mymenu[i]);
		        
		return;
	default:return;
	}
if(msg.type == GM_CTRL &&msg.message == GM_MenuItem && (int)msg.icode ==1)
	{
	PMENU pm=(PMENU)msg.pData;
	MessageBox(hd,"Message",pm->szTitle,0);
	}
if(msg.type == GM_MOUSE && msg.message ==GM_RightDown)
	{
	box=GetObjVar(hd);
	i=efComboBox->Get(box);
	MessageBox(hd,"Message",mymenu[i].szTitle,0);
	}
}

int gmain(void *data)
{
	/* 创建窗口 */
	CreateObject(0,MAINWINDOW,1,1,"ComboBox",10,10,630,300,MyWin,0);
	return 0;
}

⌨️ 快捷键说明

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