ucgui界面设计演示样例2
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
环境:
主机:WIN8
开发环境:MDK4.72
ucgui版本号:3.90
mcu: stm32f103VE
说明:
本程序基于ucgui对话框机制设计了一个界面,并用6个实体按键对界面进行控制,并添加了进度条显示
效果图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamRoOTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />
源代码:
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;
- }
- }
- }
ucgui界面设计演示样例2的更多相关文章
- JAVA简单Swing图形界面应用演示样例
JAVA简单Swing图形界面应用演示样例 package org.rui.hello; import javax.swing.JFrame; /** * 简单的swing窗体 * @author l ...
- 百度地图 Android SDK - 检索功能使用的简单演示样例
百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力. 通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移 ...
- SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)
做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...
- 虚幻4Matinee功能 基本概念及简单演示样例(Sequence编辑器)
虚幻4提供的Matinee功能十分强大,能够用来制作动画.录制视频. 它的核心想法是在Matinee编辑器内提供一套自己的时间坐标系,在这个相对时间内通过调节actor的属性来改变actor的状态,进 ...
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例
一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...
- java 覆盖hashCode()深入探讨 代码演示样例
java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...
- java并行调度框架封装及演示样例
參考资料: 阿里巴巴开源项目 CobarClient 源代码实现. 分享作者:闫建忠 分享时间:2014年5月7日 ---------------------------------------- ...
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...
- 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例
第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...
随机推荐
- leetcode刷题——排序
知识点 CS-Notes 备忘-必备算法 题目 冒泡排序 插入排序 归并排序 选择排序 快速排序 希尔排序 堆排序 桶排序 题解 CS-Notes awesome-algorithm
- js 百度云搜索框
// ==UserScript==// @name 百度云插件+APIKey// @namespace // @version 5.0.2.1// @description 在百度云网盘的页面添加一个 ...
- Myeclipse 添加Android开发工具
1.JDK是必须的,同时配置相应环境变量. 2.Android SDK 下载后解压缩需要把SDK目录下的tools和platform-tools加入环境变量. 3.MyEclipse中安装ADT插件 ...
- Java-获取Class对象的名称
package com.tj; public class MyClass2 { public static void main(String[] args) { Class cls = java.la ...
- cf898d Alarm Clock
区间上有 \(n\) 个点,问你为达到目的:长度为 \(m\) 的区间内点的个数都 $ < k$需要去掉多少个点. 贪心.每个区间我们总是去掉最后的,也就是说除非万不得已我们是不会去掉点的. 队 ...
- Python 打印嵌套list中每个数据(遍历列表)
new_list = ["H1","H2",1999] for each_list in new_list: print (each_list); 若列表中包含 ...
- hihoCoder1381 - Little Y's Tree
Portal Description 给出一个\(n(n\leq10^5)\)个点的带边权的树.进行\(Q\)次询问:每次删除树上的\(k\)条边,求剩下的\(k+1\)个连通块中最远点对距离的和.\ ...
- uva 11806 容斥原理+dfs
In most professional sporting events, cheerleaders play a major role in entertaining the spectators. ...
- EMD距离
一.场景介绍 最近在研究一个场景:图片质量评分,给一张图片一个预测的分数. 里面提到了用 EMD(Earth Mover’s Distance)算法来评估两张图片之间的分布距离.下面主要讲解下 ...
- msp430入门学习42
msp430的其他十 msp430入门学习