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

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

?? dialog_nestedmodal.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? 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        : DIALOG_NestedModal.c
Purpose     : Creates a nested modal dialog after pressing a button
---------------------------END-OF-HEADER------------------------------
*/

#include <stdlib.h>
#include <string.h>
#include "GUI.h"
#include "DIALOG.h"
#include "LISTVIEW.h"
#include "MESSAGEBOX.h"

/*********************************************************************
*
*       static data
*
**********************************************************************
*/

static char _acVehicle[40];

static const char _acItems[][2][20] = {
  {"AUDI",      "A6"               },
  {"AUDI",      "A8"               },
  {"AUDI",      "Quattro"          },
  {"AUDI",      "TT"               },
  {"BMW",       "325xi"            },
  {"BMW",       "330i"             },
  {"BMW",       "745i"             },
  {"BMW",       "Mini Cooper"      },
  {"CHEVROLET", "Cavalier LS Sport"},
  {"CHEVROLET", "Corvette Z06"     },
  {"CHEVROLET", "Malibu LS"        },
  {"FERRARI",   "575M"             },
  {"FORD",      "Escort"           },
  {"FORD",      "Focus"            },
  {"HYUNDAI",   "Sonata"           },
  {"HYUNDAI",   "XG350"            },
  {"JAGUAR",    "VDP"              },
  {"JAGUAR",    "S-Type"           },
  {"MAZDA",     "MX-5"             },
  {"MERCEDES",  "S"                },
  {"MERCEDES",  "CL"               },
  {"PORSCHE",   "Boxster"          },
  {"",          ""                 }
};

/*********************************************************************
*
*       Dialog resource
*
**********************************************************************
*/
static const GUI_WIDGET_CREATE_INFO _aDialogOrder[] = {
  { FRAMEWIN_CreateIndirect, "Order vehicle",   0,                 20,  50, 280, 160, 0 },
  { TEXT_CreateIndirect,     "Selection",       0,                 37,  13,  80,  20, 0 },
  { TEXT_CreateIndirect,     "Drive",           0,                 10,  35,  80,  20, 0 },
  { TEXT_CreateIndirect,     "Front",           0,                 30,  51,  80,  20, 0 },
  { TEXT_CreateIndirect,     "Rear",            0,                 30,  66,  80,  20, 0 },
  { TEXT_CreateIndirect,     "Both",            0,                 30,  81,  80,  20, 0 },
  { TEXT_CreateIndirect,     "Color",           0,                108,  47,  80,  20, 0 },
  { TEXT_CreateIndirect,     "Options",         0,                 95,  77,  80,  20, 0 },
  { EDIT_CreateIndirect,     NULL,              GUI_ID_EDIT0,      85,  10, 180,  20, 0, 40},
  { RADIO_CreateIndirect,    NULL,              GUI_ID_RADIO0,     10,  50,   0,   0, 0, 0xF03 },
  { DROPDOWN_CreateIndirect, NULL,              GUI_ID_DROPDOWN0, 135,  45, 130,  45, 0 },
  { DROPDOWN_CreateIndirect, NULL,              GUI_ID_DROPDOWN1, 135,  75, 130,  45, 0 },
  { BUTTON_CreateIndirect,   "Select vehicle",  GUI_ID_BUTTON0,     6, 113, 100,  20, 0 },
  { BUTTON_CreateIndirect,   "OK",              GUI_ID_OK,        160, 113,  50,  20, 0 },
  { BUTTON_CreateIndirect,   "Cancel",          GUI_ID_CANCEL,    217, 113,  50,  20, 0 }
};

static const GUI_WIDGET_CREATE_INFO _aDialogSelect[] = {
  { FRAMEWIN_CreateIndirect, "Select vehicle",  0,                 55,  30, 210, 200, 0 },
  { TEXT_CreateIndirect,     "Available vehicles:", 0,              9,   6, 120,  20, 0 },
  { LISTVIEW_CreateIndirect, NULL,              GUI_ID_LISTVIEW0,   7,  20, 190, 120, 0 },
  { BUTTON_CreateIndirect,   "OK",              GUI_ID_OK,         90, 153,  50,  20, 0 },
  { BUTTON_CreateIndirect,   "Cancel",          GUI_ID_CANCEL,    147, 153,  50,  20, 0 }
};

/*********************************************************************
*
*       static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _AddListviewItem
*/
static void _AddListviewItem(LISTVIEW_Handle hObj, const char* pMake, const char* pModel) {
  unsigned NumItems;
  NumItems = LISTVIEW_GetNumRows(hObj);
  LISTVIEW_AddRow(hObj, NULL);
  LISTVIEW_SetItemText(hObj, 0, NumItems, pMake);
  LISTVIEW_SetItemText(hObj, 1, NumItems, pModel);  
}

/*********************************************************************
*
*       _InitDialogSelect
*/
static void _InitDialogSelect(WM_HWIN hWin) {
  WM_HWIN hItem;
  int i = 0;
  /* Init framewindow */
  FRAMEWIN_SetFont(hWin, &GUI_Font10_ASCII);
  FRAMEWIN_SetTitleHeight(hWin, 14);
  FRAMEWIN_SetMoveable(hWin, 1);
  /* Init listbox items */
  hItem = WM_GetDialogItem(hWin, GUI_ID_LISTVIEW0);
  WM_SetScrollbarV(hItem, 1);
  LISTVIEW_SetGridVis(hItem, 1);
  LISTVIEW_SetLBorder(hItem, 3);
  LISTVIEW_SetRBorder(hItem, 3);
  LISTVIEW_AddColumn(hItem,  80, "Make",    GUI_TA_LEFT);
  LISTVIEW_AddColumn(hItem, 100, "Options", GUI_TA_LEFT);
  while (_acItems[i][0][0]) {
    _AddListviewItem(hItem, _acItems[i][0], _acItems[i][1]);
    i++;
  }
}

/*********************************************************************
*
*       _InitDialogOrder
*/
static void _InitDialogOrder(WM_HWIN hWin) {
  WM_HWIN hItem;
  /* Init framewindow */
  FRAMEWIN_SetFont(hWin, &GUI_Font10_ASCII);
  FRAMEWIN_SetTitleHeight(hWin, 14);
  FRAMEWIN_SetMoveable(hWin, 1);
  /* Init edit widget */
  hItem = WM_GetDialogItem(hWin, GUI_ID_EDIT0);
  WM_DisableWindow(hItem);
  /* Init dropdown box color */
  hItem = WM_GetDialogItem(hWin, GUI_ID_DROPDOWN0);
  DROPDOWN_AddString(hItem, "Blue");
  DROPDOWN_AddString(hItem, "Green");
  DROPDOWN_AddString(hItem, "Red");
  DROPDOWN_SetBkColor(hItem, 1, GUI_WHITE);
  DROPDOWN_SetTextColor(hItem, 1, GUI_BLACK);
  /* Init dropdown box model */
  hItem = WM_GetDialogItem(hWin, GUI_ID_DROPDOWN1);
  DROPDOWN_AddString(hItem, "Navigation system");
  DROPDOWN_AddString(hItem, "CD Player");
  DROPDOWN_AddString(hItem, "Other ...");
  DROPDOWN_SetBkColor(hItem, 1, GUI_WHITE);
  DROPDOWN_SetTextColor(hItem, 1, GUI_BLACK);
}

/*********************************************************************
*
*       _GetVehicle
*/
static int _GetVehicle(WM_HWIN hWin) {
  WM_HWIN hItem;
  int CurSel, NumItems;
  hItem = WM_GetDialogItem(hWin, GUI_ID_LISTVIEW0);
  NumItems = LISTVIEW_GetNumRows(hItem);
  CurSel   = LISTVIEW_GetSel(hItem);
  if ((CurSel >= 0) && (CurSel < NumItems)) {
    strcpy(_acVehicle, _acItems[CurSel][0]);
    strcat(_acVehicle, " ");
    strcat(_acVehicle, _acItems[CurSel][1]);

    hItem = WM_GetDialogItem(hWin, GUI_ID_EDIT0);
    EDIT_SetText(hItem, _acVehicle);
    return 1;
  }
  return 0;
}

/*********************************************************************
*
*       _MessageBox
*/
static void _MessageBox(const char* pText, const char* pCaption) {
  WM_HWIN hWin;
  hWin = MESSAGEBOX_Create(pText, pCaption, 0);
  WM_MakeModal(hWin);
  GUI_ExecCreatedDialog(hWin);
}

/*********************************************************************
*
*       _cbBkWindow
*/
static void _cbBkWindow(WM_MESSAGE* pMsg) {
  switch (pMsg->MsgId) {
  case WM_PAINT:
    GUI_SetBkColor(0x008000);
    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_Font24_ASCII);
    GUI_Clear();
    GUI_DispStringHCenterAt("DIALOG_NestedModal - Sample", 160, 10);
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDialogSelect
*/
static void _cbDialogSelect(WM_MESSAGE* pMsg) {
  WM_HWIN hWin = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    _InitDialogSelect(hWin);
    WM_SetFocus(WM_GetDialogItem(hWin, GUI_ID_OK));
    break;
  case WM_NOTIFY_PARENT:
    if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) {
      int Id = WM_GetId(pMsg->hWinSrc);
      switch (Id) {
      case GUI_ID_OK:
        if (_GetVehicle(hWin) == 0) {
          _MessageBox("You have to select a vehicle!", "ERROR");
          WM_MakeModal(hWin);
          WM_SetFocus(hWin);
          break;
        }
      case GUI_ID_CANCEL:
        GUI_EndDialog(pMsg->hWin, 0);
        break;
      }
    }
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDialogOrder
*/
static void _cbDialogOrder(WM_MESSAGE* pMsg) {
  WM_HWIN hDlg, hWin = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    _InitDialogOrder(hWin);
    WM_SetFocus(WM_GetDialogItem(hWin, GUI_ID_OK));
    break;
  case WM_NOTIFY_PARENT:
    if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) {
      int Id = WM_GetId(pMsg->hWinSrc);
      switch (Id) {
      case GUI_ID_BUTTON0:
        hDlg = GUI_CreateDialogBox(_aDialogSelect, GUI_COUNTOF(_aDialogSelect), &_cbDialogSelect, WM_HBKWIN, 0, 0); 
        WM_MakeModal(hDlg);
        GUI_ExecCreatedDialog(hDlg);
        WM_MakeModal(hWin);
        WM_SetFocus(hWin);
        hDlg = WM_GetDialogItem(hWin, GUI_ID_EDIT0);
        EDIT_SetText(hDlg, _acVehicle);
        break;
      case GUI_ID_OK:
      case GUI_ID_CANCEL:
        GUI_EndDialog(hWin, 0);
        break;
      }
    }
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       MainTask
*
**********************************************************************
*/
void MainTask(void);
void MainTask(void) {
  WM_HWIN hWin;
  GUI_Init();
  GUI_CURSOR_Show();
  WM_SetCreateFlags(WM_CF_MEMDEV);
  WM_EnableMemdev(WM_HBKWIN);
  WM_SetCallback(WM_HBKWIN, &_cbBkWindow);
  while (1) {
    hWin = GUI_CreateDialogBox(_aDialogOrder, GUI_COUNTOF(_aDialogOrder), &_cbDialogOrder, WM_HBKWIN, 0, 0); 
    WM_MakeModal(hWin);
    GUI_ExecCreatedDialog(hWin);
    GUI_Delay(1500);
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频精品免费视频| 91蝌蚪国产九色| 亚洲欧美日韩在线不卡| 欧美刺激午夜性久久久久久久 | 国内成人免费视频| 亚洲色图在线播放| 久久久亚洲高清| 欧美二区乱c少妇| 不卡一区二区三区四区| 六月婷婷色综合| 午夜精品123| 一区二区三区四区乱视频| 久久久亚洲精华液精华液精华液 | 成人动漫视频在线| 麻豆精品久久久| 亚洲sss视频在线视频| 1024成人网| 国产亚洲福利社区一区| 日韩精品中午字幕| 91麻豆精品国产91久久久资源速度| 成人a区在线观看| 国产精品自拍在线| 蜜桃精品视频在线观看| 图片区小说区区亚洲影院| 夜夜精品视频一区二区| 亚洲欧美综合色| 中文字幕巨乱亚洲| 久久久高清一区二区三区| 欧美一区二区啪啪| 91精品在线免费观看| 欧美日韩一卡二卡| 在线亚洲高清视频| 在线视频国内自拍亚洲视频| 91论坛在线播放| 色哟哟一区二区| 91行情网站电视在线观看高清版| 成人18视频在线播放| 国产·精品毛片| av不卡一区二区三区| 97久久超碰国产精品| 成人国产精品免费观看| 9l国产精品久久久久麻豆| www.日韩av| 91久久精品国产91性色tv | 欧美一级理论片| 欧美三级韩国三级日本一级| 欧美日韩国产色站一区二区三区| 欧美日韩一区二区三区四区| 欧美福利一区二区| 日韩欧美在线网站| xf在线a精品一区二区视频网站| 日韩欧美国产成人一区二区| 精品国产乱码久久| 久久久九九九九| 国产精品免费观看视频| 亚洲图片另类小说| 亚洲午夜久久久久| 偷拍与自拍一区| 美日韩黄色大片| 国产又粗又猛又爽又黄91精品| 国产成人免费视频一区| caoporen国产精品视频| 色94色欧美sute亚洲线路一ni | 久久亚洲二区三区| 国产精品女主播在线观看| 亚洲欧美一区二区在线观看| 亚洲一区二区欧美激情| 美日韩一区二区| 成人性生交大合| 欧美亚男人的天堂| 26uuuu精品一区二区| 亚洲人成伊人成综合网小说| 五月天激情小说综合| 国产高清精品久久久久| 91亚洲国产成人精品一区二三| 欧美视频三区在线播放| 欧美电视剧免费观看| 国产精品久久久久久妇女6080| 亚洲国产综合91精品麻豆| 日本欧美久久久久免费播放网| 国产成人在线影院| 欧美日韩精品电影| 国产午夜精品一区二区三区视频| 一区二区在线免费观看| 精品一区二区三区视频| 在线观看一区不卡| 久久久久国产精品厨房| 亚洲国产精品久久人人爱| 国产福利一区二区三区| 欧美日韩国产欧美日美国产精品| 国产午夜精品美女毛片视频| 亚洲成av人片观看| 成人免费视频一区二区| 91精品欧美福利在线观看| 中日韩免费视频中文字幕| 日韩精品一级二级| 91丨porny丨首页| 精品美女被调教视频大全网站| 亚洲男人的天堂在线观看| 国产精品资源在线观看| 欧美日韩国产免费| 亚洲欧美日韩电影| 国产aⅴ综合色| 日韩一区二区免费在线观看| 亚洲免费在线电影| 国产高清不卡二三区| 欧美美女喷水视频| 亚洲免费观看高清完整版在线观看| 九色porny丨国产精品| 欧美伊人久久久久久久久影院 | 亚洲五码中文字幕| 成人综合在线视频| 久久色.com| 免费av成人在线| 欧美日韩在线亚洲一区蜜芽| ...av二区三区久久精品| 国产精品香蕉一区二区三区| 日韩午夜在线播放| 亚洲成人福利片| 色拍拍在线精品视频8848| 中文字幕av资源一区| 国产一区二区美女诱惑| 日韩欧美一区二区免费| 日韩电影免费一区| 欧美人与z0zoxxxx视频| 亚洲国产日韩a在线播放性色| 91美女片黄在线| 亚洲女与黑人做爰| 不卡av在线网| 亚洲视频一区二区在线观看| 91网页版在线| 亚洲美女精品一区| 色呦呦日韩精品| 伊人开心综合网| 欧美亚洲国产一区二区三区| 亚洲精品久久久蜜桃| 一本大道av一区二区在线播放| 国产精品的网站| 99r精品视频| 亚洲乱码国产乱码精品精的特点 | 欧美三区在线观看| 亚洲成人一区二区在线观看| 欧美日韩一区二区三区高清| 五月婷婷激情综合| 日韩欧美中文一区二区| 国产综合久久久久久鬼色| 久久夜色精品一区| 国产成人亚洲综合a∨婷婷| 久久九九99视频| 成人av影院在线| 亚洲精品视频免费观看| 99久久伊人久久99| 亚洲日本va午夜在线电影| 欧洲一区二区三区免费视频| 天堂久久一区二区三区| 久久综合99re88久久爱| 国产精品66部| 亚洲猫色日本管| 56国语精品自产拍在线观看| 国产老肥熟一区二区三区| 国产精品免费网站在线观看| 欧美日韩中文一区| 久久99久国产精品黄毛片色诱| 久久精品男人天堂av| 91视频你懂的| 日本网站在线观看一区二区三区| 精品欧美乱码久久久久久1区2区| 福利一区二区在线观看| 亚洲一二三四久久| 精品999在线播放| www.激情成人| 免费一级欧美片在线观看| 国产欧美精品国产国产专区| 欧美视频在线不卡| 国产传媒日韩欧美成人| 一区二区三区精密机械公司| 欧美tk—视频vk| 91碰在线视频| 美女一区二区三区| 亚洲天堂久久久久久久| 日韩美女视频一区二区在线观看| 99久久er热在这里只有精品66| 免费在线欧美视频| 亚洲人成伊人成综合网小说| 日韩女同互慰一区二区| 色菇凉天天综合网| 国产成人在线免费| 亚洲电影一区二区| 国产精品丝袜黑色高跟| 日韩欧美高清在线| 在线亚洲一区二区| 国产成人精品亚洲午夜麻豆| 日日夜夜一区二区| 国产精品乱人伦中文| 日韩精品一区二区三区在线| 色成年激情久久综合| 麻豆91在线播放| 亚洲va韩国va欧美va| 亚洲欧洲日韩在线| 欧美r级电影在线观看|