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

📄 scroll.c

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

void show_value(HAND hd) /* 显示滚动条 数值*/
{
	char buf[10];
	HAND scroll;/* 句柄 */
	HDC hdc;/* 绘图句柄 */
		
	scroll=GetObjVar(hd);/* 获得 滚动条 句柄 */

	hdc=efGDI->Start(hd);/* 开始作图 */
	Bar(hdc,10,30,80,50,COLOR_BLUE);/* 画实心矩形,颜色为蓝色 */
	sprintf(buf,"%d\0",efScrollBar->Value(scroll));/* 生成 指定格式的字符串 */
	/* efScrollBar->Value(HAND); 返回的数值为 0~(n-1) ,n 为项目数 */
	SetColor(hdc,COLOR_WHITE);/* 设置颜色为白色 */
	DrawText(hdc,10,30,buf);/* 显示字符串 */
	efGDI->End(hd,hdc);/* 完成作图 */	
}

void MyWin(HAND hd,MESSAGE msg) /* 消息处理函数 */
{
HAND scroll;/* 句柄 */
if(msg.type == GM_SYSTEM) /* 判断消息类型,消息类型全部为大写  */
	switch(msg.message)  /* 判断消息 */
	{
	case GM_Create:/* 对象被创建后产生该消息,一般情况下,收到该消息时,
                对象还没有显示。可以在这里进行一些初始化工作。
				如果是窗口的GM_Create消息,可以创建新的对象,如 BUTTON 等 */
		
	    /* scroll=CreateObject(hd,VSCROLLBAR,1,1,"",260,50,280,170,0,0);   */
	    /* VSCROLLBAR 为竖向滚动条 HSCROLLBAR 为横向滚动条 */ 
	     CreateObject(hd,BUTTON,1,1,"TestButton",10,130,120,150,0,0);            scroll=CreateObject(hd,HSCROLLBAR,1,1,"",90,50,260,70,0,0);
		efScrollBar->SetN(scroll,6); /* 设置项目数 n ,n >=2 */
		/* efScrollBar->SetN(scroll,99999999); */
		/* efScrollBar->SetN(scroll,999); */
        /* efScrollBar->SetN(scroll,10); */
        /* efScrollBar->SetN(scroll,2); */
//		efScrollBar->SetHost(scroll,hd); /* 设置滚动消息(GM_Scrolling等) 接收对象 */
		SetObjVar(hd,scroll);/* 将句柄 保存到自定义数据,方便访问 */
         
		return;
   case GM_Draw:/* 对象被显示,或者重绘的时候会产生该消息 */
        show_value(hd);/* 调用 显示滚动条 数值的函数 */
	   return;
	default:
		return;
	}
scroll=GetObjVar(hd);
if(msg.type == GM_CTRL)/* 控件类 消息*/
	switch(msg.message)
	{
	case GM_Scrolling:/* 滚动条发生滚动 */
	    show_value(hd);/* 调用 显示滚动条 数值的函数 */
		return;
	default:
		return;
	}
}
int gmain(void *data)
{
	/* 创建窗口 */
	CreateObject(0,MAINWINDOW,1,1,"ScrollBar",10,10,630,300,MyWin,0);
	return 0;
}

⌨️ 快捷键说明

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