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

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

?? radio_setgroupid.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        : RADIO_SetGroupId.c
Purpose     : Implementation of RADIO widget
---------------------------END-OF-HEADER------------------------------
*/

#include <stdlib.h>
#include "RADIO.h"
#include "RADIO_Private.h"

#if GUI_WINSUPPORT

/*********************************************************************
*
*       static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _SetValue
*/
static void _SetValue(RADIO_Handle hObj, int v) {
  RADIO_Obj* pObj;
  pObj = RADIO_H2P(hObj);
  RADIO__SetValue(hObj, pObj, v);
}

/*********************************************************************
*
*       _IsInGroup
*/
static int _IsInGroup(WM_HWIN hWin, U8 GroupId) {
  if (GroupId) {
    WM_MESSAGE Msg;
    Msg.MsgId = WM_GET_RADIOGROUP;
    WM__SendMessage(hWin, &Msg);
    return (Msg.Data.v == GroupId);
  }
  return 0;
}

/*********************************************************************
*
*       _GetPrevInGroup
*/
static WM_HWIN _GetPrevInGroup(WM_HWIN hWin, U8 GroupId) {
  for (hWin = WM__GetPrevSibling(hWin); hWin; hWin = WM__GetPrevSibling(hWin)) {
    if (_IsInGroup(hWin, GroupId)) {
      return hWin;
    }
  }
  return 0;
}

/*********************************************************************
*
*       _GetNextInGroup
*/
static WM_HWIN _GetNextInGroup(WM_HWIN hWin, U8 GroupId) {
  for (; hWin; hWin = WM_GetNextSibling(hWin)) {
    if (_IsInGroup(hWin, GroupId)) {
      return hWin;
    }
  }
  return 0;
}

/*********************************************************************
*
*       _ClearSelection
*/
static void _ClearSelection(RADIO_Handle hObj, U8 GroupId) {
  WM_HWIN hWin;
  WM_Obj* pWin;
  for (hWin = WM__GetFirstSibling(hObj); hWin; hWin = pWin->hNext) {
    pWin = WM_H2P(hWin);
    if (hWin != hObj) {
      if (_IsInGroup(hWin, GroupId)) {
        RADIO__SetValue(hWin, (RADIO_Obj*)pWin, -1);
      }
    }
  }
}

/*********************************************************************
*
*       _HandleSetValue
*/
static void _HandleSetValue(RADIO_Handle hObj, RADIO_Obj* pObj, int v) {
  if (v < 0) {
    WM_HWIN hWin = _GetPrevInGroup(hObj, pObj->GroupId);
    if (hWin) {
      WM_SetFocus(hWin);
      _SetValue(hWin, 0x7FFF);
      RADIO__SetValue(hObj, pObj, -1);
    }
  } else if (v >= pObj->NumItems) {
    WM_HWIN hWin = _GetNextInGroup(pObj->Widget.Win.hNext, pObj->GroupId);
    if (hWin) {
      WM_SetFocus(hWin);
      _SetValue(hWin, 0);
      RADIO__SetValue(hObj, pObj, -1);
    }
  } else {
    if (pObj->Sel != v) {
      _ClearSelection(hObj, pObj->GroupId);
      RADIO__SetValue(hObj, pObj, v);
    }
  }
}

/*********************************************************************
*
*       Exported code
*
**********************************************************************
*/
/*********************************************************************
*
*       RADIO_SetGroupId
*/
void RADIO_SetGroupId(RADIO_Handle hObj, U8 NewGroupId) {
  if (hObj) {
    RADIO_Obj* pObj;
    U8 OldGroupId;
    WM_LOCK();
    pObj = RADIO_H2P(hObj);
    OldGroupId = pObj->GroupId;
    if (NewGroupId != OldGroupId) {
      WM_HWIN hFirst;
      hFirst = WM__GetFirstSibling(hObj);
      /* Set function pointer if necessary */
      if (NewGroupId && (RADIO__pfHandleSetValue == NULL)) {
        RADIO__pfHandleSetValue = _HandleSetValue;
      }
      /* Pass our selection, if we have one, to another radio button in */
      /* our old group. So the group have a valid selection when we leave it. */
      if (OldGroupId && (pObj->Sel >= 0)) {
        WM_HWIN hWin;
        pObj->GroupId = 0; /* Leave group first, so _GetNextInGroup() could */
                           /* not find a handle to our own window. */
        hWin = _GetNextInGroup(hFirst, OldGroupId);
        if (hWin) {
          _SetValue(hWin, 0);
        }
      }
      /* Make sure we have a valid selection according to our new group */
      if (_GetNextInGroup(hFirst, NewGroupId) != 0) {
        /* Join an existing group with an already valid selection, so clear our own one */
        RADIO__SetValue(hObj, pObj, -1);
      } else if (pObj->Sel < 0) {
        /* We are the first window in group, so we must have a valid selection at our own. */
        RADIO__SetValue(hObj, pObj, 0);
      }
      /* Change the group */
      pObj->GroupId = NewGroupId;
    }
    WM_UNLOCK();
  }
}

#else                            /* Avoid problems with empty object modules */
  void RADIO_SetGroupId_C(void);
  void RADIO_SetGroupId_C(void) {}
#endif

/************************* end of file ******************************/
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品亚洲一区二区三区浴池 | 香蕉加勒比综合久久 | 一区二区在线看| 欧美最新大片在线看| 亚洲一区二区三区激情| 99久久国产综合精品麻豆| 久久精品久久久精品美女| 亚洲欧美另类在线| 日本一区二区视频在线| 日韩欧美国产麻豆| 欧美美女直播网站| 91在线你懂得| av网站免费线看精品| 久久精品国产**网站演员| 午夜精品福利在线| 亚洲mv在线观看| 一区二区三区蜜桃网| 中文字幕在线不卡| 欧美韩国日本一区| 欧美韩国一区二区| 国产精品国产a| 亚洲视频小说图片| 一区二区三区四区在线播放| 中文一区二区完整视频在线观看| 久久男人中文字幕资源站| 欧美精品一区二区三区四区| 日韩欧美国产一区二区在线播放 | 大尺度一区二区| 一区二区在线观看视频| 中文字幕一区日韩精品欧美| 国产精品欧美精品| 亚洲欧美另类久久久精品| 亚洲精品ww久久久久久p站| 亚洲最大成人综合| 亚洲成人精品影院| 免费黄网站欧美| 国产在线精品一区二区夜色 | 欧美高清一级片在线| 7777精品伊人久久久大香线蕉完整版| 欧美吞精做爰啪啪高潮| 欧美日韩国产精品成人| 欧美α欧美αv大片| 亚洲欧洲日韩一区二区三区| 亚洲欧美激情插| 日本人妖一区二区| 成人不卡免费av| 欧美一区二区三区系列电影| 国产亚洲美州欧州综合国| 亚洲最色的网站| 美女久久久精品| voyeur盗摄精品| 日本一区二区三区久久久久久久久不| 欧美人与性动xxxx| 久久久久久久综合| 一区二区三区蜜桃| 99久久精品免费精品国产| 欧美一二三四区在线| 亚洲激情中文1区| 国产精品主播直播| 日韩女优av电影在线观看| 日韩理论在线观看| 成人午夜碰碰视频| 26uuu色噜噜精品一区二区| 亚洲午夜激情网页| 成人av小说网| 欧美国产成人精品| 蜜桃久久久久久久| 日本韩国一区二区| 有码一区二区三区| 91丝袜美腿高跟国产极品老师 | 日韩一级视频免费观看在线| 亚洲精品成人在线| 欧美午夜在线观看| 亚洲18女电影在线观看| 91啪在线观看| 综合久久国产九一剧情麻豆| www.激情成人| 免费观看在线色综合| 激情欧美一区二区| 国产亚洲1区2区3区| 国产精品一二一区| 国产精品人人做人人爽人人添| 国产精品亚洲第一区在线暖暖韩国 | 免费看黄色91| 欧美国产精品中文字幕| 99精品视频一区二区| 亚洲美女免费在线| 欧美日韩精品久久久| 视频一区在线视频| 精品国产一二三区| 波多野结衣中文字幕一区| 依依成人精品视频| 91精品国产全国免费观看| 黑人巨大精品欧美一区| 国产欧美精品国产国产专区| 99精品欧美一区| 日韩成人一区二区| 国产精品麻豆99久久久久久| 色屁屁一区二区| 国产一区二区日韩精品| 国产精品99久久不卡二区| 在线中文字幕一区二区| 午夜精品视频一区| 国产精品久久影院| 欧美丝袜第三区| 成人午夜电影小说| 丝袜亚洲精品中文字幕一区| 欧美精品精品一区| 成人听书哪个软件好| 久草精品在线观看| 亚洲最新视频在线播放| 国产精品视频看| 久久久久久久电影| 51午夜精品国产| 欧美日韩免费观看一区二区三区| 国产91精品在线观看| 久久99精品久久久久婷婷| 老司机午夜精品99久久| 午夜欧美电影在线观看| 一区二区久久久久久| 亚洲欧美日韩电影| 中文字幕av一区二区三区高 | 亚洲国产精品二十页| 日韩一区二区三区四区五区六区| 91麻豆成人久久精品二区三区| 成人小视频免费观看| 国产精品福利一区二区三区| 国产区在线观看成人精品| 欧美精品一区二| 精品国产乱码久久久久久影片| 欧美狂野另类xxxxoooo| 884aa四虎影成人精品一区| 欧美日韩国产美| 欧美一区二区三区系列电影| 日韩精品中午字幕| 国产日韩欧美精品在线| 国产欧美日韩精品a在线观看| 国产精品理论在线观看| 中文字幕一区二区视频| 亚洲一区二区三区中文字幕在线| 亚洲综合免费观看高清在线观看| 天堂蜜桃91精品| 国产在线精品一区二区夜色| 9l国产精品久久久久麻豆| 欧美综合在线视频| 精品91自产拍在线观看一区| 国产日本欧洲亚洲| 亚洲国产精品久久久男人的天堂| 毛片av中文字幕一区二区| 国产福利一区在线观看| 一本色道久久综合亚洲精品按摩| 555夜色666亚洲国产免| 国产精品久久久久永久免费观看| 亚洲www啪成人一区二区麻豆| 91国内精品野花午夜精品| 国产成人精品一区二区三区网站观看| av电影在线观看一区| 88在线观看91蜜桃国自产| 亚洲欧美偷拍三级| 国产成人精品亚洲午夜麻豆| 欧美日韩精品一区二区天天拍小说 | 亚洲精品成人少妇| 国产91在线观看| 精品国产一区二区三区忘忧草 | **欧美大码日韩| 国产乱淫av一区二区三区| 欧美日韩www| 国产精品成人一区二区三区夜夜夜| 美女视频免费一区| 91精品国产全国免费观看| 亚洲国产一区在线观看| 色综合久久久久综合99| 国产精品免费视频网站| 懂色av噜噜一区二区三区av| 欧美精品一区二区蜜臀亚洲| 五月开心婷婷久久| 欧美丰满少妇xxxbbb| 国产精品九色蝌蚪自拍| 国模娜娜一区二区三区| 日韩精品一区国产麻豆| 久久99日本精品| 制服丝袜一区二区三区| 欧美bbbbb| 久久久久久久久97黄色工厂| 国产在线播放一区三区四| 国产日韩欧美综合一区| 综合色中文字幕| 欧美视频在线播放| 国产成人午夜精品影院观看视频| 一个色在线综合| 欧美精品一二三| 精品国产乱码久久久久久蜜臀| 久久精品国产精品亚洲红杏| 日韩欧美电影在线| 欧美日韩视频在线一区二区| 一本大道久久a久久综合婷婷| 国产原创一区二区三区| 麻豆一区二区在线| 蜜臀av一区二区| 久久国产乱子精品免费女|