label.c

来自「这是一个支持"微型嵌入式 GUI" 的 SDK For Linux 版,其 GU」· C语言 代码 · 共 61 行

C
61
字号
/*
Label  - 标签
www.ecub2006.com
*/
#include "gui.h" /* GUI 的头文件 */

void MyWin(HAND hd,MESSAGE msg) /* 窗口的消息处理函数 */
{
HAND label;/* 句柄 */
HAND button;/* 句柄 */
if(msg.type == GM_SYSTEM)/* 判断消息类型,消息类型全部为大写  */
	switch(msg.message)/* 判断消息 */
	{
	case GM_Create:/* 对象被创建后产生该消息,一般情况下,收到该消息时,
                对象还没有显示。可以在这里进行一些初始化工作。
				如果是窗口的GM_Create消息,可以创建新的对象,如 BUTTON 等 */
		{/* LABEL 对象创建时,会自动根据字符串长度,改变自身对象的长度*/
		label=CreateObject(hd,LABEL,1,1,"窗口的消息处理函数",10,30,100,50,0,0);
	     	
		button=CreateObject(hd,BUTTON,2,1,"恢复默认",10,60,100,82,0,0);/* 创建按钮 */
        SetObjVar(button,label);/* 将标签对象的句柄保存到 按钮的自定义数据,方便访问 */

        button=CreateObject(hd,BUTTON,3,1,"黑底白字",110,60,200,82,0,0);/* 创建按钮 */
        SetObjVar(button,label);/* 将标签对象的句柄保存到 按钮的自定义数据,方便访问 */
        
		}
		return;
	default:return;
	}

if(msg.type == GM_COMMAND)/* 按钮被触发 */
	switch(msg.message)/* 按钮 ID*/
	{
	case 2:/* "恢复默认" 按钮*/
	    {
		button=(HAND)msg.pData;/* msg.pData 中为按钮的句柄 */
		label=GetObjVar(button);/* 获得标签的句柄 */
		efLabel->SetBackColor(label,COLOR_LIGHTGRAY);/* 设定背景颜色 */
		efLabel->SetTextColor(label,COLOR_BLACK);/* 设定字体颜色 */
		}
		return;
	case 3:/* "白底黑字" 按钮*/
		{
        button=(HAND)msg.pData;/* msg.pData 中为按钮的句柄 */
		label=GetObjVar(button);/* 获得标签的句柄 */
		efLabel->SetBackColor(label,COLOR_BLACK);/* 设定背景颜色 */
		efLabel->SetTextColor(label,COLOR_WHITE);/* 设定字体颜色 */
		}
		return;
	default:return;
	}
}

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

⌨️ 快捷键说明

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