亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? widget_header.c

?? UC_GUI開發源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : WIDGET_Header.c
Purpose     : Demonstrates the use of header widgets
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>
#include <string.h>
#include "GUI.h"
#include "HEADER.h"
#include "FRAMEWIN.h"

/*********************************************************************
*
*       Defines
*
**********************************************************************
*/

#define MSG_CHANGE_MAIN_TEXT (WM_USER + 0)
#define MSG_CHANGE_INFO_TEXT (WM_USER + 1)

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/

static HEADER_Handle _hHeader;
static char _acMainText[100];
static char _acInfoText[100];

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/

/*******************************************************************
*
*       _ChangeMainText
*
*  Sends a message to the background window and invalidate it, so
*  the callback of the background window display the new text.
*/
static void _ChangeMainText(char* pStr) {
  WM_MESSAGE Message;
  Message.MsgId  = MSG_CHANGE_MAIN_TEXT;
  Message.Data.p = pStr;
  WM_SendMessage(WM_HBKWIN, &Message);
  WM_InvalidateWindow(WM_HBKWIN);
}

/*******************************************************************
*
*       _ChangeInfoText
*
*  Sends a message to the background window and invalidate it, so
*  the callback of the background window display the new text.
*/
static void _ChangeInfoText(char* pStr) {
  WM_MESSAGE Message;
  Message.MsgId  = MSG_CHANGE_INFO_TEXT;
  Message.Data.p = pStr;
  WM_SendMessage(WM_HBKWIN, &Message);
  WM_InvalidateWindow(WM_HBKWIN);
}

/*******************************************************************
*
*       _cbBkWindow
*/
static void _cbBkWindow(WM_MESSAGE* pMsg) {
  switch (pMsg->MsgId) {
    case MSG_CHANGE_MAIN_TEXT:
      strcpy(_acMainText, pMsg->Data.p);
      WM_InvalidateWindow(pMsg->hWin);
      break;
    case MSG_CHANGE_INFO_TEXT:
      strcpy(_acInfoText, pMsg->Data.p);
      WM_InvalidateWindow(pMsg->hWin);
      break;
    case WM_PAINT:
      GUI_SetBkColor(GUI_BLACK);
      GUI_Clear();
      GUI_SetColor(GUI_WHITE);
      GUI_SetFont(&GUI_Font24_ASCII);
      GUI_DispStringHCenterAt("HEADER Widget - Sample", 160, 5);
      GUI_SetFont(&GUI_Font8x16);
      GUI_DispStringAt(_acMainText, 5, 40);
      GUI_SetFont(&GUI_Font8x8);
      GUI_DispStringAt(_acInfoText, 5, 60);
      break;
    default:
      WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _OnPaint
*/
static void _OnPaint(void) {
  int xPos = 0;
  GUI_RECT Rect;
  GUI_SetBkColor(GUI_GRAY);
  GUI_Clear();
  WM_GetClientRect(&Rect);
  Rect.x1 = HEADER_GetItemWidth(_hHeader, 0);
  GUI_SetColor(GUI_RED);
  GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
  Rect.x0 = Rect.x1;
  Rect.x1 += HEADER_GetItemWidth(_hHeader, 1);
  GUI_SetColor(GUI_GREEN);
  GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
  Rect.x0 = Rect.x1;
  Rect.x1 += HEADER_GetItemWidth(_hHeader, 2);
  GUI_SetColor(GUI_BLUE);
  GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
}

/*********************************************************************
*
*       cbWindow
*/
static void _cbWindow(WM_MESSAGE * pMsg) {
  WM_HWIN hWin = pMsg->hWin;
  switch (pMsg->MsgId) {
    case WM_PAINT:
      _OnPaint();
      break;
  }
  WM_DefaultProc(pMsg);
}

/*********************************************************************
*
*       _Demo
*/
static void _Demo(void) {
  int Key = 0;
  int Cnt = 10;
  char acInfoText[] = "-- sec to play with header control";
  _ChangeInfoText("HEADER_AddItem");
  HEADER_AddItem(_hHeader, 100, "Red"  , GUI_TA_VCENTER | GUI_TA_HCENTER);
  HEADER_AddItem(_hHeader,   0, "Green", GUI_TA_VCENTER | GUI_TA_HCENTER);
  HEADER_AddItem(_hHeader,   0, ":-)"  , GUI_TA_VCENTER | GUI_TA_HCENTER);
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetItemWidth");
  HEADER_SetItemWidth(_hHeader, 1, 60);
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetItemText");
  HEADER_SetItemWidth(_hHeader, 2, 100);
  HEADER_SetItemText(_hHeader, 2, "Blue");
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetFont");
  HEADER_SetFont(_hHeader, &GUI_Font8x8);
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetHeight");
  HEADER_SetHeight(_hHeader, 50);
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetTextColor");
  HEADER_SetTextColor(_hHeader, GUI_YELLOW);
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetBkColor");
  HEADER_SetBkColor(_hHeader, GUI_DARKGRAY);
  GUI_Delay(750);
  _ChangeInfoText("HEADER_SetTextAlign");
  HEADER_SetTextAlign(_hHeader, 0, GUI_TA_HCENTER);
  while (!Key && (Cnt > 0)) {
    acInfoText[0] = '0' + (Cnt / 10);
    acInfoText[1] = '0' + (Cnt-- % 10);
    _ChangeInfoText(acInfoText);
    GUI_Delay(1000);
    Key = GUI_GetKey();
  }
}

/*********************************************************************
*
*       _DemoHeaderFrameWin
*/
static void _DemoHeaderFrameWin(void) {
  FRAMEWIN_Handle hFrameWin;
  _ChangeMainText("HEADER control inside a FRAMEWIN");
  hFrameWin = FRAMEWIN_Create("Title", _cbWindow, WM_CF_SHOW, 10, 80, 300, 140);
  FRAMEWIN_SetActive(hFrameWin, 1);
  _hHeader = HEADER_CreateAttached(WM_GetClientWindow(hFrameWin), 1234, 0);
  _Demo();
  FRAMEWIN_Delete(hFrameWin);
}

/*********************************************************************
*
*       _DemoHeaderWin
*/
static void _DemoHeaderWin(void) {
  WM_HWIN hWin;
  _ChangeMainText("HEADER control inside a window");
  hWin = WM_CreateWindow(10, 80, 300, 140, WM_CF_SHOW, _cbWindow, 0);
  _hHeader = HEADER_CreateAttached(hWin, 1234, 0);
  _Demo();
  WM_DeleteWindow(hWin);
}

/*********************************************************************
*
*       _DemoHeader
*/
static void _DemoHeader(void) {
  _ChangeMainText("HEADER control without parent");
  _hHeader = HEADER_Create(10, 80, 300, 0, 0, 1234, WM_CF_SHOW, 0);
  _Demo();
  HEADER_Delete(_hHeader);
}

/*********************************************************************
*
*       MainTask
*
**********************************************************************
*/
void MainTask(void) {
  GUI_Init();
  WM_EnableMemdev(WM_HBKWIN);
  WM_SetCreateFlags(WM_CF_MEMDEV);
  WM_SetCallback(WM_HBKWIN, _cbBkWindow);
  GUI_CURSOR_Show();
  while(1) {
    _DemoHeaderFrameWin();
    _DemoHeaderWin();
    _DemoHeader();
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美日韩精品| 黄一区二区三区| 成人午夜在线播放| 日韩欧美色综合网站| 日韩高清欧美激情| 欧美性极品少妇| 亚洲大片精品永久免费| 欧美专区亚洲专区| 日韩电影在线一区二区| 欧美一区二区三区在线电影 | 精品久久人人做人人爽| 开心九九激情九九欧美日韩精美视频电影 | 亚洲国产精品99久久久久久久久 | 成人av动漫在线| 国产精品国产三级国产有无不卡| www.亚洲色图.com| 亚洲欧美日韩系列| 在线看日本不卡| 美腿丝袜亚洲综合| 日韩精品一区二区三区在线 | 精品国产髙清在线看国产毛片| 亚洲成av人片| 久久亚洲春色中文字幕久久久| 国产精品资源网| 亚洲国产日产av| 久久老女人爱爱| 国产乱子伦一区二区三区国色天香| 日韩一区二区三区在线| 成人午夜精品一区二区三区| 亚洲精品一二三四区| 欧美一区二区三区免费大片| 成人综合婷婷国产精品久久免费| 亚洲免费看黄网站| 欧美www视频| 欧美性大战久久久| 丁香婷婷综合激情五月色| 亚洲综合一二三区| 欧美国产精品劲爆| 亚洲伦理在线免费看| 亚洲精品一区二区三区在线观看 | 久久在线观看免费| 欧美无砖砖区免费| 国产91对白在线观看九色| 奇米色一区二区三区四区| 国产女人水真多18毛片18精品视频| 欧美性xxxxxxxx| 在线区一区二视频| 国产电影一区在线| 亚洲一区二区精品视频| 亚洲欧美一区二区三区极速播放| www成人在线观看| 欧美精品免费视频| 欧美日韩精品一区二区在线播放| 日本乱码高清不卡字幕| 色综合久久天天| 欧美性色欧美a在线播放| 一本一道波多野结衣一区二区| 不卡视频在线观看| 成人app软件下载大全免费| 成人国产精品免费观看| 不卡的av电影在线观看| 91尤物视频在线观看| 色猫猫国产区一区二在线视频| 99精品视频免费在线观看| 丁香激情综合国产| 色呦呦国产精品| 欧美日韩另类一区| 蜜桃av一区二区三区电影| 国产精品一级二级三级| aaa亚洲精品| 色爱区综合激月婷婷| 3d动漫精品啪啪一区二区竹菊 | 色综合中文字幕国产 | 亚洲制服丝袜av| 日韩av电影天堂| 成人小视频免费观看| 欧美日韩一区小说| 久久久亚洲欧洲日产国码αv| 国产精品乱码一区二三区小蝌蚪| 一区二区三区在线观看国产| 麻豆高清免费国产一区| 一本久久精品一区二区| 日韩午夜在线观看| 亚洲午夜电影网| a4yy欧美一区二区三区| 久久久国产精华| 五月天久久比比资源色| 972aa.com艺术欧美| 久久综合国产精品| 午夜视频在线观看一区二区| 97国产一区二区| 国产精品美女视频| 麻豆成人久久精品二区三区小说| 久久精品国产久精国产| 欧美日韩一区二区三区高清| 久久精品欧美一区二区三区麻豆| 久久精品国产**网站演员| 色狠狠色狠狠综合| 玉足女爽爽91| 91视频国产资源| 亚洲精品欧美在线| 欧美在线免费观看亚洲| 亚洲综合色丁香婷婷六月图片| 成熟亚洲日本毛茸茸凸凹| 国产精品国产三级国产aⅴ原创| 国产精品18久久久久| 亚洲国产成人在线| 91在线视频网址| 亚洲一区二区中文在线| 欧美日韩精品一二三区| 99在线精品视频| 日韩毛片一二三区| 欧洲中文字幕精品| 日韩成人免费电影| 欧美tk—视频vk| 中文字幕一区av| 欧美日韩精品欧美日韩精品一综合| 最新日韩在线视频| 91高清视频在线| 蜜桃av一区二区三区电影| 91日韩在线专区| 亚洲三级小视频| 欧美乱妇23p| 成人涩涩免费视频| 亚洲精品成人少妇| 日韩午夜激情av| 高清视频一区二区| 亚洲国产人成综合网站| 日韩视频免费观看高清完整版在线观看 | 国产精品私人影院| 波多野结衣视频一区| 亚洲激情自拍偷拍| 精品国产一区二区在线观看| 粉嫩绯色av一区二区在线观看| 一区二区欧美国产| 欧美激情一二三区| 88在线观看91蜜桃国自产| 精品在线你懂的| 亚洲电影中文字幕在线观看| 日韩精品一区二区三区在线观看| 欧美性videosxxxxx| 粉嫩av一区二区三区在线播放| 亚洲第一激情av| 欧美一区二区三区精品| 国产不卡视频在线观看| 日本成人在线网站| 亚洲视频在线一区观看| 久久久亚洲精品一区二区三区 | 国产精品污污网站在线观看| 日韩一区二区精品葵司在线| 91麻豆国产精品久久| 欧美羞羞免费网站| 高清不卡在线观看av| 免费的国产精品| 日韩电影在线一区二区三区| 国产精品久久久久久久久图文区 | 久久超碰97中文字幕| 亚洲成年人网站在线观看| 亚洲日本一区二区| 中文字幕日本乱码精品影院| 欧美激情一区二区三区四区| 精品动漫一区二区三区在线观看| 欧美成人一区二区三区片免费| 欧美一级久久久久久久大片| 欧美一区二区视频网站| 色综合久久88色综合天天 | 精品88久久久久88久久久| 精品国产乱码久久| 欧美国产激情一区二区三区蜜月| 久久久久久影视| 国产精品三级视频| 一区二区三区四区蜜桃| 亚洲一区国产视频| 天天影视色香欲综合网老头| 精品在线亚洲视频| 国产精品99久久久| 亚洲午夜一区二区| 亚洲最大成人网4388xx| 日韩av网站在线观看| 成人动漫一区二区在线| 欧美午夜影院一区| 日本一区二区动态图| 亚洲成人av在线电影| 成人精品免费网站| 成人国产精品免费观看动漫| 欧美一级二级在线观看| 亚洲男同1069视频| 成人免费视频视频| 日韩欧美一区二区三区在线| 久久久亚洲精品一区二区三区| 亚洲精品videosex极品| 国产精品1区2区3区在线观看| 在线成人av影院| 亚洲成人一二三| 在线精品视频小说1| 一区二区在线观看免费| 亚洲动漫第一页| 欧美午夜精品一区二区三区| 国产精品麻豆99久久久久久| 精品亚洲porn|