zoukankan      html  css  js  c++  java
  • ucgui界面设计演示样例2

    ucgui界面设计演示样例2


    本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.


    环境:

    主机:WIN8

    开发环境:MDK4.72

    ucgui版本号:3.90

    mcu: stm32f103VE


    说明:

    本程序基于ucgui对话框机制设计了一个界面,并用6个实体按键对界面进行控制,并添加了进度条显示


    效果图:

     


    源代码:

    gui_match.h

    /*********************************************************************
    *						对码绑定界面模块头文件
    *						(c)copyright 2014,jdh
    *						  All Right Reserved
    *新建时间:2014/10/24 by jdh
    **********************************************************************/
    
    #ifndef _GUI_MATCH_H_
    #define _GUI_MATCH_H_
    
    /*********************************************************************
    *							头文件
    **********************************************************************/
    
    #include "world.h"
    
    /*********************************************************************
    *							宏定义
    **********************************************************************/
    
    /*********************************************************************
    *							工作间隔
    *单位:ms
    **********************************************************************/
    
    #define INTERVAL_GUI_MATCH			100  
    
    /*********************************************************************
    *							进度条显示时间
    *单位:ms
    **********************************************************************/
    
    #define TIME_PROGBAR_GUI_MATCH		3000 
    
    /*********************************************************************
    *							函数
    **********************************************************************/
    
    /*********************************************************************
    *							模块加载
    **********************************************************************/
    
    void gui_match_load(void);
    
    /*********************************************************************
    *							模块执行
    **********************************************************************/
    
    void gui_match_run(void);
    
    /*********************************************************************
    *							设置显示状态
    *參数:enable:0:关闭显示,1:打开显示
    **********************************************************************/
    
    void gui_match_show(uint8_t enable);
    
    /*********************************************************************
    *							得到当前的显示状态
    *返回:0:关闭显示,1:打开显示
    **********************************************************************/
    
    uint8_t gui_match_get_show(void);
    
    /*********************************************************************
    *							得到绑定的脚镣id
    *返回:0:未绑定,其它:脚镣id
    **********************************************************************/
    
    uint16_t gui_match_get_fetter_id_bind(void);
    
    #endif
    
    


    gui_match.c

    /*********************************************************************
    *						对码绑定界面模块主文件
    *						(c)copyright 2014,jdh
    *						  All Right Reserved
    *新建时间:2014/10/24 by jdh
    *改动时间:2014/10/29 by jdh
    **********************************************************************/
    
    /*********************************************************************
    *							头文件
    **********************************************************************/
    
    #include "gui_match.h"
    #include "cc1100.h"
    #include "gui_main.h"
    
    /*********************************************************************
    *							宏定义
    **********************************************************************/
    
    #define ID_FRAMEWIN            		(GUI_ID_USER + 0x10)
    #define ID_BUTTON_OK            	(GUI_ID_USER + 0x11)
    #define ID_BUTTON_CANCEL            (GUI_ID_USER + 0x12)
    #define ID_BUTTON_UP            	(GUI_ID_USER + 0x13)
    #define ID_BUTTON_DOWN            	(GUI_ID_USER + 0x14)
    #define ID_BUTTON_LEFT            	(GUI_ID_USER + 0x15)
    #define ID_BUTTON_RIGHT            	(GUI_ID_USER + 0x16)
    #define ID_TEXT_MATCH           	(GUI_ID_USER + 0x17)
    #define ID_TEXT_ID           		(GUI_ID_USER + 0x18)
    #define ID_TEXT_PROGBAR           	(GUI_ID_USER + 0x19)
    #define ID_LISTBOX           		(GUI_ID_USER + 0x1A)
    #define ID_PROGBAR           		(GUI_ID_USER + 0x1B)
    
    /*********************************************************************
    *							列表框存储的数据数量
    **********************************************************************/
    
    #define LIST_LEN					20
    
    /*********************************************************************
    *							数据结构
    **********************************************************************/
    
    /*********************************************************************
    *							按键状态
    **********************************************************************/
    
    struct _Key_State
    {
    	uint8_t ok;
    	uint8_t cancel;
    	uint8_t up;
    	uint8_t down;
    	uint8_t left;
    	uint8_t right;
    };
    
    /*********************************************************************
    *							列表框缓存
    **********************************************************************/
    
    struct _List
    {
    	uint8_t len;
    	uint16_t buf[LIST_LEN];
    };
    
    /*********************************************************************
    *							静态变量
    **********************************************************************/
    
    /*********************************************************************
    *							界面句柄
    **********************************************************************/
    
    static WM_HWIN Handle_Gui;
    
    /*********************************************************************
    *							资源表
    **********************************************************************/
    
    static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = 
    {
      { FRAMEWIN_CreateIndirect, 	"Frame3", 	ID_FRAMEWIN, 			0, 0, 240, 320, 0, 0x0},
      { BUTTON_CreateIndirect, 		"OK", 		ID_BUTTON_OK, 		5, 255, 40, 20, 0, 0x0},
      { BUTTON_CreateIndirect, 		"Button", 	ID_BUTTON_DOWN, 	95, 280, 40, 20, 0, 0x0},
      { BUTTON_CreateIndirect, 		"UP", 		ID_BUTTON_UP, 		95, 255, 40, 20, 0, 0x0},
      { BUTTON_CreateIndirect, 		"CANCEL", 	ID_BUTTON_CANCEL, 	185, 255, 40, 20, 0, 0x0},
      { BUTTON_CreateIndirect, 		"RIGHT", 	ID_BUTTON_RIGHT, 	140, 270, 40, 20, 0, 0x0},
      { BUTTON_CreateIndirect, 		"LEFT", 	ID_BUTTON_LEFT, 	50, 270, 40, 20, 0, 0x0},
      { TEXT_CreateIndirect, 		"Match", 	ID_TEXT_MATCH, 		140, 15, 80, 20, 0, 0x0},
      { TEXT_CreateIndirect, 		"ID", 		ID_TEXT_ID, 		140, 40, 80, 20, 0, 0x0},
      { TEXT_CreateIndirect, 		"", 		ID_TEXT_PROGBAR, 	140, 65, 80, 20, 0, 0x0},
      { LISTBOX_CreateIndirect, 	"Listbox", 	ID_LISTBOX, 		5, 10, 120, 220, 0, 0x0},
      { PROGBAR_CreateIndirect, 	"Progbar", 	ID_PROGBAR, 		140, 85, 80, 20, 0, 0x0},
      // USER START (Optionally insert additional widgets)
      // USER END
    };
    
    /*********************************************************************
    *							上次工作时间
    **********************************************************************/
    
    static struct _Time Time_Last = 
    {
        .s = 0,
        .ms = 0,
        .us = 0
    };
    
    /*********************************************************************
    *							进度条開始的时间
    **********************************************************************/
    
    static struct _Time Time_Progbar = 
    {
        .s = 0,
        .ms = 0,
        .us = 0
    };
    
    /*********************************************************************
    *							接收CC1100的时间
    **********************************************************************/
    
    static struct _Time Time_Recv_CC1100 = 
    {
        .s = 0,
        .ms = 0,
        .us = 0
    };
    
    /*********************************************************************
    *							按键状态
    **********************************************************************/
    
    static struct _Key_State Key_State = 
    {
    	.ok = 0,
    	.cancel = 0,
    	.up = 0,
    	.down = 0,
    	.left = 0,
    	.right = 0
    };
    
    /*********************************************************************
    *							当前显示状态
    *0:未显示,1显示
    **********************************************************************/
    
    static uint8_t State_Show = 0;
    
    /*********************************************************************
    *							进度条动画開始标志
    *0:终止,1:扫描,2:绑定
    **********************************************************************/
    
    static uint8_t Flag_Progbar = 0;
    
    /*********************************************************************
    *							列表框存储器
    **********************************************************************/
    
    static struct _List List = 
    {
    	.len = 0
    };
    
    /*********************************************************************
    *							已绑定脚镣ID
    *0:未绑定,其它:ID
    **********************************************************************/
    
    static uint16_t Fetter_Id_Bind = 0;
    
    /*********************************************************************
    *							静态函数
    **********************************************************************/
    
    /*********************************************************************
    *							回调函数
    **********************************************************************/
    
    static void _cbDialog(WM_MESSAGE * pMsg);
    
    /*********************************************************************
    *							定时工作
    **********************************************************************/
    
    static void slot_tick(void);
    
    /*********************************************************************
    *							按键处理
    **********************************************************************/
    
    static void deal_key(void);
    
    /*********************************************************************
    *							进度条动画
    *參数:percent:百分比
    **********************************************************************/
    
    static void progbar_show(uint8_t percent);
    
    /*********************************************************************
    *							发送125k绑定信号
    **********************************************************************/
    
    static void emit_125k_bind(void);
    
    /*********************************************************************
    *							处理cc1100接收数据
    *參数:task:0:扫描,1:绑定
    **********************************************************************/
    
    static void deal_cc1100(uint8_t task);
    
    /*********************************************************************
    *							产生激发数据
    *參数:cmd:功能码
    *     data:产生的2字节激发数据
    **********************************************************************/
    
    static void generate_exciter_data(uint8_t cmd,uint8_t *data);
    
    /*********************************************************************
    *							函数
    **********************************************************************/
    
    /*********************************************************************
    *							模块加载
    **********************************************************************/
    
    void gui_match_load(void)
    {
    	//新建界面
    	Handle_Gui = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), 
    									 _cbDialog, WM_HBKWIN, 0, 0);
    	gui_match_show(OFF);
    }
    
    /*********************************************************************
    *							模块执行
    **********************************************************************/
    
    void gui_match_run(void)
    {
    	struct _Time time;
    	
    	//推断当前是否显示
    	if (State_Show == 0)
    	{
    		return;
    	}
    	
    	//推断当前是否处于扫描状态
    	if (Flag_Progbar == 1)
    	{
    		deal_cc1100(0);
    	}
    	else
    	{
    		//推断当前是否处于绑定状态
    		if (Flag_Progbar == 2)
    		{
    			deal_cc1100(1);
    		}
    	}
    	
        //得到当前时间
        get_time(&time);
    
        //推断是否到工作时间
    	if (sub_time(time,Time_Last) >= INTERVAL_GUI_MATCH * 1000)
        {
            //更新时间
            Time_Last = time;
            
            //定时工作
            slot_tick();
        }
    }
    
    /*********************************************************************
    *							设置显示状态
    *參数:enable:0:关闭显示,1:打开显示
    **********************************************************************/
    
    void gui_match_show(uint8_t enable)
    {
    	WM_HWIN hItem;
    	
    	State_Show = enable;
    	if (enable)
    	{
    		//设置列表框为焦点
    		hItem = WM_GetDialogItem(Handle_Gui, ID_LISTBOX);
    		WM_SetFocus(hItem);
    		
    		WM_ShowWindow(Handle_Gui);
    	}
    	else
    	{
    		WM_HideWindow(Handle_Gui);
    	}
    }
    
    /*********************************************************************
    *							得到当前的显示状态
    *返回:0:关闭显示,1:打开显示
    **********************************************************************/
    
    uint8_t gui_match_get_show(void)
    {
    	return State_Show;
    }
    
    /*********************************************************************
    *							得到绑定的脚镣id
    *返回:0:未绑定,其它:脚镣id
    **********************************************************************/
    
    uint16_t gui_match_get_fetter_id_bind(void)
    {
    	//return Fetter_Id_Bind;
    	return 0x100;
    }
    
    /*********************************************************************
    *							定时工作
    **********************************************************************/
    
    static void slot_tick(void)
    {
    	uint32_t ms = 0;
    	uint8_t percent = 0;
    	WM_HWIN hItem;
    	
    	//按键处理
    	deal_key();
    	
    	//推断当前进度条是否须要显示
    	if (Flag_Progbar)
    	{
    		//推断是否是扫描
    		if (Flag_Progbar == 1)
    		{
    			//推断激发信号是否结束
    			if (inf_exciter_get_busy() == 0)
    			{
    				//关闭激发模块电源
    				inf_exciter_power(OFF);
    			}
    		}
    		
    		//推断是否到工作时间
    		ms = sub_time(Time_Last,Time_Progbar) / 1000;
    		if (ms < TIME_PROGBAR_GUI_MATCH)
    		{
    			percent = ms * 100 / TIME_PROGBAR_GUI_MATCH;
    			progbar_show(percent);
    		}
    		else
    		{
    			//结束进度条动画
    			Flag_Progbar = 0;
    			progbar_show(100);
    			
    			//文本:结束
    			hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_PROGBAR);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"结束");
    		}
    	}
    }
    
    /*********************************************************************
    *							按键处理
    **********************************************************************/
    
    static void deal_key(void)
    {
    	WM_HWIN hItem;
    	uint8_t index = 0;
    	uint16_t id = 0;
    	uint8_t data[3] = {0};
    	
    	//推断下键是否按下
    	if (inf_key_detect_hold(KEY_DOWN))
    	{
    		if (Key_State.down == 0)
    		{
    			Key_State.down = 1;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_DOWN);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS | BUTTON_STATE_PRESSED);
    			
    			//发送按键信号
    			GUI_SendKeyMsg(GUI_KEY_DOWN, 1);
    		}
    	}
    	else
    	{
    		if (Key_State.down == 1)
    		{
    			Key_State.down = 0;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_DOWN);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS);
    		}
    	}
    	
    	//推断上键是否按下
    	if (inf_key_detect_hold(KEY_UP))
    	{
    		if (Key_State.up == 0)
    		{
    			Key_State.up = 1;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_UP);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS | BUTTON_STATE_PRESSED);
    			
    			//发送按键信号
    			GUI_SendKeyMsg(GUI_KEY_UP, 1);
    		}
    	}
    	else
    	{
    		if (Key_State.up == 1)
    		{
    			Key_State.up = 0;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_UP);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS);
    		}
    	}
    	
    	//推断扫描键是否按下
    	if (inf_key_detect_hold(KEY_OK) && (Flag_Progbar == 0))
    	{
    		if (Key_State.ok == 0)
    		{
    			Key_State.ok = 1;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_OK);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS | BUTTON_STATE_PRESSED);
    			
    			//文本:開始扫描
    			hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_PROGBAR);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"開始扫描");
    			
    			//開始扫描
    			Flag_Progbar = 1;
    			//保存当前时间
    			get_time(&Time_Progbar);
    			
    			//打开125k电源
    			inf_exciter_power(ON);
    			//发送125k绑定信号
    			emit_125k_bind();
    			
    			//清空列表框
    			List.len = 0;
    			hItem = WM_GetDialogItem(Handle_Gui, ID_LISTBOX);
    			listbox_clear(hItem);
    		}
    	}
    	else
    	{
    		if (Key_State.ok == 1)
    		{
    			Key_State.ok = 0;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_OK);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS);
    		}
    	}
    	
    	//推断清除键是否按下
    	if (inf_key_detect_hold(KEY_LEFT))
    	{
    		if (Key_State.left == 0)
    		{
    			Key_State.left = 1;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_LEFT);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS | BUTTON_STATE_PRESSED);
    			
    			//清空列表框
    			List.len = 0;
    			hItem = WM_GetDialogItem(Handle_Gui, ID_LISTBOX);
    			listbox_clear(hItem);
    		}
    	}
    	else
    	{
    		if (Key_State.left == 1)
    		{
    			Key_State.left = 0;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_LEFT);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS);
    		}
    	}
    	
    	//推断绑定键是否按下
    	if (inf_key_detect_hold(KEY_RIGHT) && (Flag_Progbar == 0))
    	{
    		if (Key_State.right == 0)
    		{
    			Key_State.right = 1;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_RIGHT);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS | BUTTON_STATE_PRESSED);
    			
    			//推断当前是否有项
    			if (List.len == 0)
    			{
    				return;
    			}
    			//得到脚镣id
    			hItem = WM_GetDialogItem(Handle_Gui, ID_LISTBOX);
    			index = LISTBOX_GetSel(hItem);
    			if (index >= List.len)
    			{
    				//清空列表框
    				List.len = 0;
    				hItem = WM_GetDialogItem(Handle_Gui, ID_LISTBOX);
    				listbox_clear(hItem);
    				return;
    			}
    			id = List.buf[index];
    			//数据
    			data[0] = 0;
    			data[1] = 0;
    			data[2] = 0;
    			//等待能够发送
    			while (cc1100_judge_tx() == 0);
    			//发送对码绑定帧
    			cc1100_tx(CMD_RF_BIND,id,data);
    			
    			//開始绑定
    			Flag_Progbar = 2;
    			//保存当前时间
    			get_time(&Time_Progbar);
    			
    			//更新绑定的脚镣ID
    			Fetter_Id_Bind = 0;
    			//更新文本
    			hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_MATCH);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"未绑定脚镣");
    			
    			hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_ID);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"ID:0");
    			
    			//更新文本
    			hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_PROGBAR);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"正在绑定");
    		}
    	}
    	else
    	{
    		if (Key_State.right == 1)
    		{
    			Key_State.right = 0;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_RIGHT);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS);
    		}
    	}
    	
    	//推断返回键是否按下
    	if (inf_key_detect_hold(KEY_CANCEL) && (Flag_Progbar == 0))
    	{
    		if (Key_State.cancel== 0)
    		{
    			Key_State.cancel = 1;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_CANCEL);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS | BUTTON_STATE_PRESSED);
    		}
    	}
    	else
    	{
    		if (Key_State.cancel == 1)
    		{
    			Key_State.cancel = 0;
    			
    			//按键状态改变
    			hItem = WM_GetDialogItem(Handle_Gui, ID_BUTTON_CANCEL);
    			BUTTON_SetState(hItem,BUTTON_STATE_HASFOCUS);
    			
    			//返回主界面
    			gui_match_show(OFF);
    			gui_main_show(ON);
    		}
    	}
    }
    
    /*********************************************************************
    *							进度条动画
    *參数:percent:百分比
    **********************************************************************/
    
    static void progbar_show(uint8_t percent)
    {
    	WM_HWIN hItem;
    	
    	//进度条显示
    	hItem = WM_GetDialogItem(Handle_Gui, ID_PROGBAR);
    	PROGBAR_SetValue(hItem,percent);
    }
    
    /*********************************************************************
    *							发送125k绑定信号
    **********************************************************************/
    
    static void emit_125k_bind(void) 
    {
    	uint8_t data[2] = {0};
    	
    	//生成激活数据
    	generate_exciter_data(CMD_125K_BIND,data);
    	//生成新的激发序列
    	inf_exciter_generate_frame(data,2);
    
    	//等待空暇
    	while (inf_exciter_get_busy());
    	//发送
    	inf_exciter_start();
    }
    
    /*********************************************************************
    *							处理cc1100接收数据
    *參数:task:0:扫描,1:绑定
    **********************************************************************/
    
    static void deal_cc1100(uint8_t task)
    {
    	struct _Rx_Buf_CC1100 buf;
    	WM_HWIN hItem;
    	char str[20] = {0};
    	
    	buf = cc1100_get_rx_buf();
    	//推断是否是最新帧
    	if (compare_time(buf.time,Time_Recv_CC1100) != 2)
    	{
    		return;
    	}
    	
    	//保存时间
    	Time_Recv_CC1100 = buf.time;
    	
    	if (task == 0)
    	{
    		//推断功能码是否是上传脚镣ID帧
    		if (buf.cmd != CMD_RF_UP_FETTER_ID)
    		{
    			return;
    		}
    		
    		//推断是否还有存储空间
    		if (List.len >= LIST_LEN)
    		{
    			return;
    		}
    		
    		//更新数据
    		List.buf[List.len++] = buf.src_id;
    		sprintf(str,"%d",List.buf[List.len - 1]);
    		//更新列表框
    		hItem = WM_GetDialogItem(Handle_Gui, ID_LISTBOX);
    		LISTBOX_AddString(hItem, str);
    		
    		return;
    	}
    	
    	if (task == 1)
    	{
    		//推断功能码是否是确认对码绑定
    		if (buf.cmd != CMD_RF_ACK_BIND)
    		{
    			return;
    		}
    		
    		//更新绑定的脚镣ID
    		Fetter_Id_Bind = buf.src_id;
    		//更新文本
    		hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_MATCH);
    		TEXT_SetFont(hItem, &GUI_FontHZ12);
    		TEXT_SetText(hItem,"已绑定脚镣");
    		
    		hItem = WM_GetDialogItem(Handle_Gui, ID_TEXT_ID);
    		TEXT_SetFont(hItem, &GUI_FontHZ12);
    		sprintf(str,"ID:0x%x",Fetter_Id_Bind);
    		TEXT_SetText(hItem,str);
    		
    		return;
    	}
    }
    
    /*********************************************************************
    *							产生激发数据
    *參数:cmd:功能码
    *     data:产生的2字节激发数据
    **********************************************************************/
    
    static void generate_exciter_data(uint8_t cmd,uint8_t *data)
    {
    	uint8_t temp = 0;
    	uint8_t check = 0;
    	
    	temp = cmd << 6;
    	temp |= LOCAL_ID >> 4;
    	data[0] = temp;
    	temp = LOCAL_ID << 4;
    	
    	check = checksum4(data,2);
    	temp |= check;
    	data[1] = temp;
    }
    
    /*********************************************************************
    *							回调函数
    **********************************************************************/
    
    static void _cbDialog(WM_MESSAGE * pMsg) 
    {
    	WM_HWIN hItem;
    
    	switch (pMsg->MsgId) 
    	{
    	case WM_INIT_DIALOG:
    		{
    			//初始化窗口
    			//添加小按键
    			FRAMEWIN_AddCloseButton(pMsg->hWin, FRAMEWIN_BUTTON_RIGHT, 0);
    			FRAMEWIN_AddMaxButton(pMsg->hWin, FRAMEWIN_BUTTON_RIGHT, 1);
    			FRAMEWIN_AddMinButton(pMsg->hWin, FRAMEWIN_BUTTON_RIGHT, 2);
    			FRAMEWIN_SetFont(pMsg->hWin, &GUI_FontHZ12);
    			FRAMEWIN_SetText(pMsg->hWin,"对码绑定");
    			
    			//初始化列表框
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTBOX);
    //			//设置内容
    //			LISTBOX_SetFont(hItem, &GUI_FontHZ12);
    //			LISTBOX_AddString(hItem, "0x10");
    //			LISTBOX_AddString(hItem, "0x11");
    //			LISTBOX_AddString(hItem, "0x12");
    //			LISTBOX_AddString(hItem, "0x13");
    //			LISTBOX_AddString(hItem, "0x14");
    //			List.buf[0] = 0x10;
    //			List.buf[1] = 0x11;
    //			List.buf[2] = 0x12;
    //			List.buf[3] = 0x13;
    //			List.buf[4] = 0x14;
    //			List.len = 5;
    			
    			//设置为焦点
    			WM_SetFocus(hItem);
    			SCROLLBAR_CreateAttached(hItem, SCROLLBAR_CF_VERTICAL);
    			
    			//初始化按键
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_OK);
    			BUTTON_SetFont(hItem, &GUI_FontHZ12);
    			BUTTON_SetText(hItem,"扫描");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_CANCEL);
    			BUTTON_SetFont(hItem, &GUI_FontHZ12);
    			BUTTON_SetText(hItem,"返回");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_UP);
    			BUTTON_SetFont(hItem, &GUI_FontHZ12);
    			BUTTON_SetText(hItem,"上");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_DOWN);
    			BUTTON_SetFont(hItem, &GUI_FontHZ12);
    			BUTTON_SetText(hItem,"下");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_LEFT);
    			BUTTON_SetFont(hItem, &GUI_FontHZ12);
    			BUTTON_SetText(hItem,"清除");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_RIGHT);
    			BUTTON_SetFont(hItem, &GUI_FontHZ12);
    			BUTTON_SetText(hItem,"绑定");
    			
    			//初始化文本
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_MATCH);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"未绑定脚镣");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_ID);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"ID:0");
    			
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_PROGBAR);
    			TEXT_SetFont(hItem, &GUI_FontHZ12);
    			TEXT_SetText(hItem,"结束");
    			
    			//初始化进度条
    			hItem = WM_GetDialogItem(pMsg->hWin, ID_PROGBAR);
    			PROGBAR_SetBarColor(hItem,0,GUI_RED);
    			PROGBAR_SetBarColor(hItem,1,GUI_GREEN);
    			
    			break;
    		}
    	default:
    		{
    			WM_DefaultProc(pMsg);
    			break;
    		}
    	}
    }
    
    


  • 相关阅读:
    软件工程(2019)第二次作业
    软件工程(2019)第一次作业
    Java基础篇之Java特性
    软件工程(2019)结对编程第二次作业
    软件工程(2019)结对编程第一次作业
    软件工程(2019)第三次作业
    软件工程(2019)第二次作业
    软件工程(2019)第一次作业
    结对编程作业 2
    结对编程作业 1
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7214445.html
Copyright © 2011-2022 走看看