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

📄 chobox.c

📁 这是一个支持"微型嵌入式 GUI" 的 SDK For Linux 版,其 GUI 核心可于 Linux, DOS 16/32 Bit, uC/OS-II及Windows 等平台工作,支持常用
💻 C
字号:
/*
ChoiceBox  - 单选框
www.ecub2006.com
*/
#include "gui.h" /* GUI 的头文件 */
#define ITEM_NUM 5
MENU choice_menu[]={
{0,"A. C语言",0,0},
{1,"B. C++语言",0,0},
{2,"C. Java语言",0,0},
{3,"D. C# 语言",0,0},
{4,"E. Pascal语言",0,0},
{5,"F. Basic语言",0,0}
};

void MyWin(HAND hd,MESSAGE msg) /* 窗口的消息处理函数 */
{
int i;
HAND choice;
if(msg.type == GM_SYSTEM)/* 判断消息类型,消息类型全部为大写  */
	switch(msg.message)
	{
	case GM_Create:
		 
		choice=CreateObject(hd,CHOICEBOX,1,1,"",10,30,200,200,0,0);
	    
		for(i=0;i<ITEM_NUM;i++)
	    efChoiceBox->Add(choice,&choice_menu[i]);/* 添加子项目 */
        
		SetObjVar(hd,choice);/* 将句柄保存到 自定义数据 ,方便访问 */

		CreateObject(hd,BUTTON,2,1,"统计",210,60,300,80,0,0);
		 
		return;
	default:
		return;

	}
if(msg.type == GM_COMMAND)/* 按钮被按下后产生的消息 */
	switch(msg.message)/* message 为按钮的ID */
	{
	case 2:
		{
		char buf[256];
		choice=GetObjVar(hd);/* 获得句柄 */
	    i=efChoiceBox->Get(choice);/* 获得选择项目的ID*/
		if(i==-1) 
			{
			MessageBox(hd,"错误","程序错误!",0);
			return;
			}
		sprintf(buf,"您选择了%s",choice_menu[i].szTitle);
		MessageBox(hd,"Message",buf,0);
		}
		return;
	default:
		return;
	}
}
int gmain(void *data)/* GUI程序 的入口函数 */
{
	/* 创建窗口 */
	CreateObject(0,MAINWINDOW,1,1,"ChoiceBox",10,10,630,300,MyWin,0);
	return 0;
}

⌨️ 快捷键说明

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