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

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

?? widget_numpad.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_NumPad.c
Purpose     : Shows how to use a numpad as input device on a touch screen
---------------------------END-OF-HEADER------------------------------
*/

#include "DIALOG.h"

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
/* Bitmap data for arrow keys */
static GUI_CONST_STORAGE GUI_COLOR _aColorsArrow[] = {
  0xFFFFFF, 0x000000
};

static GUI_CONST_STORAGE GUI_LOGPALETTE _PalArrow = {
  2,	/* number of entries */
  1, 	/* No transparency */
  &_aColorsArrow[0]
};

static GUI_CONST_STORAGE unsigned char _acArrowRight[] = {
  ____XX__, ________,
  ____XXXX, ________,
  XXXXXXXX, XX______,
  ____XXXX, ________,
  ____XX__, ________
};

static GUI_CONST_STORAGE unsigned char _acArrowLeft[] = {
  ____XX__, ________,
  __XXXX__, ________,
  XXXXXXXX, XX______,
  __XXXX__, ________,
  ____XX__, ________
};

static GUI_CONST_STORAGE GUI_BITMAP _bmArrowRight = {
  10,           /* XSize */
  5,            /* YSize */
  2,            /* BytesPerLine */
  1,            /* BitsPerPixel */
  _acArrowRight, /* Pointer to picture data (indices) */
  &_PalArrow     /* Pointer to palette */
};

static GUI_CONST_STORAGE GUI_BITMAP _bmArrowLeft = {
  10,           /* XSize */
  5,            /* YSize */
  2,            /* BytesPerLine */
  1,            /* BitsPerPixel */
  _acArrowLeft,  /* Pointer to picture data (indices) */
  &_PalArrow     /* Pointer to palette */
};

/* Array of keys */
static int _aKey[] = {GUI_KEY_DELETE, GUI_KEY_TAB, GUI_KEY_LEFT, GUI_KEY_RIGHT};

/* Dialog resource of numpad */
static const GUI_WIDGET_CREATE_INFO _aDialogNumPad[] = {
/*  Function                 Text      Id                 Px   Py   Dx   Dy */
  { WINDOW_CreateIndirect,   0,        0,                225, 110,  95, 130},
  { BUTTON_CreateIndirect,   "7",      GUI_ID_USER +  7,   5,   5,  25,  20},
  { BUTTON_CreateIndirect,   "8",      GUI_ID_USER +  8,  35,   5,  25,  20},
  { BUTTON_CreateIndirect,   "9",      GUI_ID_USER +  9,  65,   5,  25,  20},
  { BUTTON_CreateIndirect,   "4",      GUI_ID_USER +  4,   5,  30,  25,  20},
  { BUTTON_CreateIndirect,   "5",      GUI_ID_USER +  5,  35,  30,  25,  20},
  { BUTTON_CreateIndirect,   "6",      GUI_ID_USER +  6,  65,  30,  25,  20},
  { BUTTON_CreateIndirect,   "1",      GUI_ID_USER +  1,   5,  55,  25,  20},
  { BUTTON_CreateIndirect,   "2",      GUI_ID_USER +  2,  35,  55,  25,  20},
  { BUTTON_CreateIndirect,   "3",      GUI_ID_USER +  3,  65,  55,  25,  20},
  { BUTTON_CreateIndirect,   "0",      GUI_ID_USER +  0,   5,  80,  25,  20},
  { BUTTON_CreateIndirect,   ".",      GUI_ID_USER + 10,  35,  80,  25,  20},
  { BUTTON_CreateIndirect,   "Del",    GUI_ID_USER + 11,  65,  80,  25,  20},
  { BUTTON_CreateIndirect,   "Tab",    GUI_ID_USER + 12,   5, 105,  25,  20},
  { BUTTON_CreateIndirect,   0,        GUI_ID_USER + 13,  35, 105,  25,  20},
  { BUTTON_CreateIndirect,   0,        GUI_ID_USER + 14,  65, 105,  25,  20},
};

/* Dialog resource of user dialog */
static const GUI_WIDGET_CREATE_INFO _aDialogUser[] = {
/*  Function                 Text      Id                 Px   Py   Dx   Dy */
  { FRAMEWIN_CreateIndirect, "Dialog", 0,                 40,  90, 140, 115, FRAMEWIN_CF_MOVEABLE},
  { EDIT_CreateIndirect,     0,        GUI_ID_EDIT0,      10,  10, 110,  20, 0, 12},
  { EDIT_CreateIndirect,     0,        GUI_ID_EDIT1,      10,  40, 110,  20, 0, 12},
  { BUTTON_CreateIndirect,   "Ok",     GUI_ID_OK,         10,  70,  50,  20 },
  { BUTTON_CreateIndirect,   "Cancel", GUI_ID_CANCEL,     70,  70,  50,  20 },
};

/* Title of sample */
static char _aTitle[] = {"WIDGET_NumPad"};

/* Explanation of sample */
static char * _apExplain[] = {
  {"This sample shows how to use a numpad as input"},
  {"device. This can be usefull if no keyboard"},
  {"is available and the user should edit numeric"},
  {"values or text on a touch screen."},
};

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _cbDialogNumPad
*
* Purpose:
*   Callback function of the numpad.
*/
static void _cbDialogNumPad(WM_MESSAGE * pMsg) {
  GUI_RECT r;
  int i, NCode, Id, Pressed = 0;
  WM_HWIN hDlg, hItem;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    WM_GetClientRect(&r);
    GUI_SetColor(0x000000);
    GUI_DrawRect(r.x0, r.y0, r.x1, r.y1);          /* Draw rectangle around it */
    /* Draw the bright sides */
    GUI_SetColor(0xffffff);
    GUI_DrawHLine(r.y0 + 1, r.x0 + 1, r.x1 - 2);   /* Draw top line */
    GUI_DrawVLine(r.x0 + 1, r.y0 + 1, r.y1 - 2);
    /* Draw the dark sides */
    GUI_SetColor(0x555555);
    GUI_DrawHLine(r.y1-1, r.x0 + 1, r.x1 - 1);
    GUI_DrawVLine(r.x1-1, r.y0 + 1, r.y1 - 2);
    break;
  case WM_INIT_DIALOG:
    for (i = 0; i < GUI_COUNTOF(_aDialogNumPad) - 1; i++) {
      hItem = WM_GetDialogItem(hDlg, GUI_ID_USER + i);
      BUTTON_SetFocussable(hItem, 0);                       /* Set all buttons non focussable */
      switch (i) {
      case 13:
        BUTTON_SetBitmapEx(hItem, 0, &_bmArrowLeft, 7, 7);  /* Set bitmap for arrow left button (unpressed) */
        BUTTON_SetBitmapEx(hItem, 1, &_bmArrowLeft, 7, 7);  /* Set bitmap for arrow left button (pressed) */
        break;
      case 14:
        BUTTON_SetBitmapEx(hItem, 0, &_bmArrowRight, 7, 7); /* Set bitmap for arrow right button (unpressed) */
        BUTTON_SetBitmapEx(hItem, 1, &_bmArrowRight, 7, 7); /* Set bitmap for arrow right button (pressed) */
        break;
      }
    }
    hItem = WM_GetDialogItem(hDlg, GUI_ID_USER + 12);
    break;
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);      /* Id of widget */
    NCode = pMsg->Data.v;                 /* Notification code */
    switch (NCode) {
    case WM_NOTIFICATION_CLICKED:
      Pressed = 1;
    case WM_NOTIFICATION_RELEASED:
      if ((Id >= GUI_ID_USER) && (Id <= (GUI_ID_USER + GUI_COUNTOF(_aDialogNumPad) - 1))) {
        int Key;
        if (Id < GUI_ID_USER + 11) {
          char acBuffer[10];
          BUTTON_GetText(pMsg->hWinSrc, acBuffer, sizeof(acBuffer)); /* Get the text of the button */
          Key = acBuffer[0];
        } else {
          Key = _aKey[Id - GUI_ID_USER - 11];                        /* Get the text from the array */
        }
        GUI_SendKeyMsg(Key, Pressed);                                /* Send a key message to the focussed window */
      }
      break;
    }
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDialogUser
*
* Purpose:
*   Callback function of the user dialog.
*/
static void _cbDialogUser(WM_MESSAGE * pMsg) {
  int i, NCode, Id;
  WM_HWIN hDlg, hItem;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    for (i = 0; i < 2; i++) {
      hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i);  /* Get the handle of the edit widget */
      EDIT_SetText(hItem, "12345678");                   /* Set text */
    }
    break;
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);      /* Id of widget */
    NCode = pMsg->Data.v;                 /* Notification code */
    switch (NCode) {
      case WM_NOTIFICATION_RELEASED:      /* React only if released */
        if (Id == GUI_ID_OK) {            /* OK Button */
          GUI_EndDialog(hDlg, 0);
        }
        if (Id == GUI_ID_CANCEL) {        /* Cancel Button */
          GUI_EndDialog(hDlg, 1);
        }
        break;
    }
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDesktop
*
* Purpose:
*   This routine handles the drawing of the desktop window.
*/
static void _cbDesktop(WM_MESSAGE * pMsg) {
  int i;
  switch (pMsg->MsgId) {
  case WM_PAINT:
    GUI_SetBkColor(GUI_RED);
    GUI_Clear();
    GUI_SetFont(&GUI_Font24_ASCII);
    GUI_DispStringHCenterAt(_aTitle, 160, 5);
    GUI_DispNextLine();
    GUI_SetFont(GUI_DEFAULT_FONT);
    GUI_DispNextLine();
    for (i = 0; i < GUI_COUNTOF(_apExplain); i++) {
      GUI_DispStringHCenterAt(_apExplain[i], 160, GUI_GetDispPosY());
      GUI_DispNextLine();
    }
    break;
  }
}

/*********************************************************************
*
*       Exported code
*
**********************************************************************
*/
/*********************************************************************
*
*       MainTask
*/
void MainTask(void) {
  WM_HWIN hNumPad;
  GUI_Init();
  WM_SetCallback(WM_HBKWIN, _cbDesktop);
  hNumPad = GUI_CreateDialogBox(_aDialogNumPad, 
                                GUI_COUNTOF(_aDialogNumPad), 
                                _cbDialogNumPad, WM_HBKWIN, 0, 0); /* Create the numpad dialog */
  WM_SetStayOnTop(hNumPad, 1);
  while (1) {
    GUI_ExecDialogBox(_aDialogUser, 
                      GUI_COUNTOF(_aDialogUser), 
                      _cbDialogUser, WM_HBKWIN, 0, 0);             /* Execute the user dialog */
    GUI_Delay(1000);
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品视频一区二区三区| 久久久99精品久久| 欧美va在线播放| 日本一区二区免费在线 | 欧美在线影院一区二区| 日韩一级二级三级| 亚洲亚洲人成综合网络| 高清av一区二区| 亚洲精品一区二区三区精华液| 一区二区三区精品视频在线| 在线成人av网站| 亚洲人成网站色在线观看| 国产一区二区美女诱惑| 91麻豆精品国产| 亚洲小说春色综合另类电影| av激情亚洲男人天堂| 欧美高清在线视频| 国模少妇一区二区三区| 日韩一级二级三级精品视频| 亚洲成av人片在线观看无码| 色婷婷综合在线| 国产精品不卡在线| 国产91清纯白嫩初高中在线观看| 欧美大白屁股肥臀xxxxxx| 午夜精品福利一区二区蜜股av| 91成人看片片| 亚洲资源在线观看| 欧美色视频在线| 亚洲狠狠爱一区二区三区| 91美女片黄在线观看91美女| 中文字幕一区日韩精品欧美| av午夜精品一区二区三区| 欧美经典一区二区三区| 国产.欧美.日韩| 国产精品国产三级国产aⅴ无密码| 国内成+人亚洲+欧美+综合在线| 精品国产免费人成在线观看| 国模冰冰炮一区二区| 国产亚洲短视频| 成人丝袜高跟foot| 亚洲欧美欧美一区二区三区| 欧洲一区在线观看| 日本最新不卡在线| 日韩一级在线观看| 国产一区二区三区免费观看| 国产欧美一区二区精品忘忧草 | 日韩欧美色综合网站| 青青国产91久久久久久| 精品成a人在线观看| 国产福利一区二区三区| 亚洲丝袜美腿综合| 欧美久久免费观看| 国产在线精品免费| 亚洲免费在线看| 日韩三级视频中文字幕| 国产99久久精品| 国产大片一区二区| 综合av第一页| 欧美日本一区二区在线观看| 国内精品免费在线观看| 17c精品麻豆一区二区免费| 欧美日韩高清一区二区不卡| 久久精品久久综合| 国产精品成人免费在线| 欧美高清视频在线高清观看mv色露露十八 | 亚洲成人综合在线| 精品国产网站在线观看| 一本到不卡免费一区二区| 舔着乳尖日韩一区| 欧美国产日韩精品免费观看| 欧美日韩一区三区| 韩国av一区二区| 亚洲高清视频在线| 中文字幕精品—区二区四季| 欧美日韩五月天| 成人丝袜高跟foot| 久久99精品国产91久久来源| 亚洲精品老司机| 国产日产欧美一区| 3d动漫精品啪啪| 91麻豆国产精品久久| 国内精品伊人久久久久av一坑| 中文字幕一区av| 久久一夜天堂av一区二区三区| 欧美三日本三级三级在线播放| 国产在线播放一区| 石原莉奈在线亚洲二区| 一区二区三区在线播放| 久久精品人人做| 日韩欧美亚洲另类制服综合在线 | 亚洲综合在线五月| 欧美激情中文不卡| 欧美r级在线观看| 欧美高清视频在线高清观看mv色露露十八 | 欧美一二三区在线| 欧美探花视频资源| 色综合亚洲欧洲| 国产mv日韩mv欧美| 国产精品资源网| 国内成人免费视频| 久草热8精品视频在线观看| 亚洲va欧美va人人爽| 亚洲综合在线观看视频| 国产欧美1区2区3区| 国产视频一区二区在线观看| 日韩免费高清视频| 日韩欧美在线一区二区三区| 欧美高清hd18日本| 欧美精品三级日韩久久| 欧美体内she精视频| 欧美综合久久久| 欧美日韩亚洲综合| 欧美三级日韩三级| 欧美三级三级三级| 亚洲色图丝袜美腿| 亚洲激情在线激情| 亚洲国产wwwccc36天堂| 丝袜诱惑亚洲看片| 日本中文在线一区| 国内外成人在线视频| 国内欧美视频一区二区| 国产成人精品亚洲午夜麻豆| 国产成人综合在线播放| 福利91精品一区二区三区| 成人aa视频在线观看| 91视频.com| 欧美日本在线视频| 精品电影一区二区| 国产精品卡一卡二卡三| 亚洲精品va在线观看| 视频一区国产视频| 国产乱子伦视频一区二区三区 | 欧美激情一区不卡| 中文字幕色av一区二区三区| 中文字幕一区日韩精品欧美| 亚洲影视在线播放| 精品综合免费视频观看| 国产经典欧美精品| 色呦呦网站一区| 91精品国产欧美一区二区成人| 日韩欧美在线123| 国产精品素人一区二区| 亚洲成人黄色影院| 国产麻豆成人传媒免费观看| 91影视在线播放| 6080亚洲精品一区二区| 久久精品日韩一区二区三区| 成人性生交大片免费看在线播放| 97久久超碰国产精品| 51精品秘密在线观看| 国产人成一区二区三区影院| 亚洲精品免费在线| 精品一区中文字幕| 色网站国产精品| 久久婷婷久久一区二区三区| 亚洲免费在线观看视频| 极品少妇xxxx偷拍精品少妇| 99re8在线精品视频免费播放| 91麻豆精品国产91久久久久久久久 | 国产成人精品免费一区二区| 欧洲一区在线观看| 国产精品午夜电影| 日本不卡一区二区三区高清视频| 成人激情免费电影网址| 日韩一级高清毛片| 一区二区三区不卡视频| 国产成人三级在线观看| 91精品国产色综合久久不卡电影 | 婷婷国产在线综合| av亚洲精华国产精华精| 日韩精品专区在线影院观看| 国产精品久久网站| 国产制服丝袜一区| 911精品国产一区二区在线| 日韩理论电影院| 国产69精品一区二区亚洲孕妇| 欧美一区二区在线免费观看| 亚洲愉拍自拍另类高清精品| 国产精品一区二区无线| 91精品在线免费观看| 亚洲国产精品一区二区久久| 成人激情免费视频| 久久久国产午夜精品| 蜜臀99久久精品久久久久久软件 | 91最新地址在线播放| xnxx国产精品| 人人爽香蕉精品| 欧美日韩电影在线播放| 亚洲一区二区偷拍精品| 91免费观看在线| 亚洲精品高清在线| 91美女视频网站| 亚洲视频一区二区免费在线观看| 成人激情免费电影网址| 国产丝袜在线精品| 国产精品亚洲第一区在线暖暖韩国| 日韩免费成人网| 久久精品72免费观看| 日韩一区二区中文字幕| 麻豆91小视频|