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

📄 button.c

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

void MyWin(HAND hd,MESSAGE msg) /* 窗口的消息处理函数 */
{
if(msg.type == GM_SYSTEM) /* 判断消息类型,消息类型全部为大写  */
 switch(msg.message)      /* 判断消息 */
 {
 case GM_Draw: /* 对象被显示,或者重绘的时候会产生该消息 */
	 {
	 HAND hdc; /* HDC 句柄,指向的结构中保存作图时的一些数据,与文件操作句柄FILE 类似 */
	 hdc=efGDI->Start(hd);/* 开始作图,获得HDC 句柄,与 fopen 函数类似 */
	 efGDI->SetColor(hdc,COLOR_BLUE);/* 设置颜色 为颜色 */
     efGDI->DrawText(hdc,10,150,"DJGPP!");/* 输出字符串 */
	 efGDI->End(hd,hdc);/* 完成作图,与 fclose 类似,hdc 为句柄*/
	 }
	  return;
 case GM_Create:/* 对象被创建后产生该消息,一般情况下,收到该消息时,
                对象还没有显示。可以在这里进行一些初始化工作。
				如果是窗口的GM_Create消息,可以创建新的对象,如 BUTTON 等 */
      CreatObject(hd,BUTTON,1,1,"BUTTON_A",10,25,150,45,0,0); /* 创建新的按钮对象 */
	  /* CreateObject 函数原型如下
	  HAND GUIAPI CreatObject( - 函数返回新创建的对象句柄
	  HAND pHOST,  - 父对象句柄
	  int16 guiclass,  - 要创建的对象类型
	  int16 id, - 对象的 ID
	  int16 style, - 对象的风格 
	  char  *szTitle, - 对象的Title 标题
      int16 left,int16 top,int16 right,int16 bottom, - 对象的坐标
	  void (*Server)(HAND,MESSAGE),void *pData); -对象的消息处理函数,附加数据指针
	  */
      CreatObject(hd,BUTTON,2,3,"EXIT",10,120,150,140,0,0);/* 创建新的按钮对象 */
      return;
 case GM_Destroy:/* 对象将要被销毁时,产生该消息。 */
      /* 窗口中的Button等控件对象,系统会自动销毁 */
      return;     
 case GM_Close:/* 一般情况下,是当用户点击了 窗口的关闭 按钮后 产生该消息 */
      QuitWindow(hd); /* 退出窗口 */
      return;
 default:return;
 }
if(msg.type == GM_COMMAND) /* 按钮被按下后产生的消息 */
	switch(msg.message) /* message 为按钮的ID */
	{
	case 1:/* 按钮 "BUTTON_A" */
		return;
	case 2:/* "按钮 "BUTTON_B" */
		QuitWindow(hd); /* 退出窗口 */
		
		return;
	defualt:return;
	}
}

int gmain(void) /* GUI程序 的入口函数 */
{
	/* 创建一个主窗口 */
	CreatObject(0,MAINWINDOW,1,1,"Button",10,10,630,300,MyWin,0);
}

⌨️ 快捷键说明

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