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

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

?? edit.c

?? Samsung ARM7 s3c44b0 + uC-OSii + uC-GUI 完美的綜合到了一起
?? C
?? 第 1 頁 / 共 2 頁
字號:
      }    }    break;  }  WM_DefaultProc(pMsg);}/***********************************************************************       Exported routines:  Create************************************************************************/EDIT_Handle EDIT_CreateAsChild     (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int MaxLen) {  EDIT_Handle hObj;  if (MaxLen == 0) {    MaxLen = 8;  }  /* Alloc memory for obj */  WM_LOCK();  hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent,                        WM_CF_SHOW | Flags, EDIT__Callback,                       sizeof(EDIT_Obj)-sizeof(WM_Obj));  if (hObj) {    EDIT_Obj* pObj = (EDIT_Obj*)WM_HMEM2Ptr(hObj);    /* init widget specific variables */    WIDGET__Init(&pObj->Widget, WIDGET_STATE_FOCUSSABLE  | WIDGET_STATE_ENABLED);    pObj->Widget.Id     = Id;    /* init member variables */    INIT_ID(pObj);    pObj->pFont         = _pDefaultFont;    pObj->aBkColor[0]   = EDIT_BKCOLOR0_DEFAULT;    pObj->aBkColor[1]   = EDIT_BKCOLOR1_DEFAULT;    pObj->aTextColor[0] = EDIT_TEXTCOLOR0_DEFAULT;    pObj->aTextColor[1] = EDIT_TEXTCOLOR1_DEFAULT;    pObj->Align         = _DefaultAlign;    pObj->Border        = _DefaultBorder;    pObj->XSizeCursor   = 1;    pObj->MaxLen        = MaxLen;    if ((pObj->hpText = WM_ALLOC(MaxLen+1)) ==0) {      GUI_DEBUG_ERROROUT("EDIT_Create failed to alloc buffer");      EDIT_Delete(hObj);      hObj =0;    }  }  WM_UNLOCK();  return hObj;}EDIT_Handle EDIT_Create(int x0, int y0, int xsize, int ysize, int Id, int MaxLen, int Flags) {  return EDIT_CreateAsChild(x0, y0, xsize, ysize, WM_HMEM_NULL, Id, Flags, MaxLen);}EDIT_Handle EDIT_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* pCallback) {  EDIT_Handle hEdit;  GUI_USE_PARA(pCallback);  hEdit = EDIT_CreateAsChild(    pCreateInfo->x0 + x0, pCreateInfo->y0 + y0, pCreateInfo->xSize, pCreateInfo->ySize,    hWinParent, pCreateInfo->Id, pCreateInfo->Flags, pCreateInfo->Para);  return hEdit;}/***********************************************************************       Exported routines:  Various methods************************************************************************/void EDIT_AddKey(EDIT_Handle hObj, int Key) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    if (pObj->pfAddKeyEx) {      pObj->pfAddKeyEx(pObj, hObj, Key);    } else {      char*s = (char*) WM_HMEM2Ptr(pObj->hpText);      int len = strlen(s);      switch (Key) {        case GUI_KEY_UP:          {            char c = *(s + pObj->CursorPos);            if (c < 0x7f) {              *(s + pObj->CursorPos) = c + 1;              WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);            }          }          break;        case GUI_KEY_DOWN:          {            char c = *(s + pObj->CursorPos);            if (c > 0x20) {              *(s + pObj->CursorPos) = c - 1;              WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);            }          }          break;        case GUI_KEY_RIGHT:          if (pObj->CursorPos < (pObj->MaxLen - 1))            if (pObj->CursorPos < len)              pObj->CursorPos++;          break;        case GUI_KEY_LEFT:          if (pObj->CursorPos > 0)            pObj->CursorPos--;          break;        case GUI_KEY_BACKSPACE:          if ((len > 0) && (pObj->CursorPos > 0)) {            int CopyLength = pObj->MaxLen - pObj->CursorPos;            strncpy(s + pObj->CursorPos - 1, s + pObj->CursorPos, CopyLength);            *(s + len - 1) = 0;            WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);            pObj->CursorPos--;          }          break;        case GUI_KEY_DELETE:          if ((len > 0) && (pObj->CursorPos < len)) {            if (len > 1) {              int CopyLength = pObj->MaxLen - pObj->CursorPos - 1;              strncpy(s + pObj->CursorPos, s + pObj->CursorPos + 1, CopyLength);            }            *(s + len - 1) = 0;            WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);          }          break;        case GUI_KEY_INSERT:          if (pObj->EditMode == GUI_EDIT_MODE_OVERWRITE)            pObj->EditMode = GUI_EDIT_MODE_INSERT;          else            pObj->EditMode = GUI_EDIT_MODE_OVERWRITE;          break;        case GUI_KEY_ENTER:        case GUI_KEY_ESCAPE:          break;        default:          if ((Key >= 0x20) && (Key <= 0x7f)) {            if (pObj->EditMode == GUI_EDIT_MODE_INSERT) {              if (len < pObj->MaxLen) {                int CopyLength = pObj->MaxLen - pObj->CursorPos - 1;                memmove(s + pObj->CursorPos + 1, s + pObj->CursorPos, CopyLength);                *(s + pObj->CursorPos) = Key;                WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);                if (pObj->CursorPos < (pObj->MaxLen - 1))                  pObj->CursorPos++;              }            } else {              *(s + pObj->CursorPos) = Key;              WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);              if (pObj->CursorPos < (pObj->MaxLen - 1))                pObj->CursorPos++;            }          }          break;      }    }    EDIT_Invalidate(hObj);  }  WM_UNLOCK();}void EDIT_SetFont(EDIT_Handle hObj, const GUI_FONT* pfont) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    pObj->pFont = pfont;    EDIT_Invalidate(hObj);  }  WM_UNLOCK();}void EDIT_SetBkColor(EDIT_Handle hObj, int Index, GUI_COLOR color) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    pObj->aBkColor[Index] = color;    EDIT_Invalidate(hObj);  }  WM_UNLOCK();}void EDIT_SetTextColor(EDIT_Handle hObj, int Index, GUI_COLOR color) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    pObj->aTextColor[Index] = color;    EDIT_Invalidate(hObj);  }  WM_UNLOCK();}void EDIT_SetText     (EDIT_Handle hObj, const char* sNew) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    char*sDest = (char*) WM_HMEM2Ptr(pObj->hpText);    int Len = sNew ? strlen(sNew) : 0;    if (Len > pObj->MaxLen)      Len = pObj->MaxLen;    memcpy(sDest, sNew, Len);    *(sDest+Len) = 0;    pObj->CursorPos = Len;    if (pObj->CursorPos == pObj->MaxLen)      pObj->CursorPos--;    EDIT_Invalidate(hObj);  }  WM_UNLOCK();}void EDIT_GetText(EDIT_Handle hObj, char* sDest, int MaxLen) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    char * sSource = (char*) WM_HMEM2Ptr(pObj->hpText);    int Len = strlen(sSource);    if (Len > (MaxLen - 1))      Len = MaxLen - 1;    memcpy((void *)sDest, (const void *)sSource, Len);    *(sDest+Len) = 0;  }  WM_UNLOCK();}I32  EDIT_GetValue(EDIT_Handle hObj) {  EDIT_Obj* pObj;  I32 r = 0;  if (hObj) {    WM_LOCK();    pObj = EDIT_H2P(hObj);    r = pObj->CurrentValue;    WM_UNLOCK();  }  return r;}void EDIT_SetValue(EDIT_Handle hObj, I32 Value) {  EDIT_Obj* pObj;  if (hObj) {    WM_LOCK();    pObj = EDIT_H2P(hObj);    /* Put in min/max range */    if (Value < pObj->Min) {      Value = pObj->Min;    }    if (Value > pObj->Max) {      Value = pObj->Max;    }    if (pObj->CurrentValue != (U32)Value) {      pObj->CurrentValue = Value;      if (pObj->pfUpdateBufer) {        pObj->pfUpdateBufer(pObj);      }      WM_InvalidateWindow(hObj);      WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);    }    WM_UNLOCK();  }}void EDIT_SetMaxLen(EDIT_Handle  hObj, int MaxLen) {  EDIT_Obj* pObj;  WM_HMEM hpText;  if (hObj) {    WM_LOCK();    pObj = EDIT_H2P(hObj);    if ((hpText = WM_ALLOC(MaxLen+1)) ==0) {      GUI_DEBUG_ERROROUT("EDIT_SetMaxLen failed to alloc buffer");    } else {      WM_FREEPTR(&pObj->hpText);      pObj->hpText = hpText;      pObj->MaxLen = MaxLen;    }    EDIT_Invalidate(hObj);    WM_UNLOCK();  }}void EDIT_SetTextAlign(EDIT_Handle hObj, int Align) {  EDIT_Obj* pObj;  if (hObj == 0)    return;  WM_LOCK();  pObj = EDIT_H2P(hObj);  if (pObj) {    pObj->Align = Align;    EDIT_Invalidate(hObj);  }  WM_UNLOCK();}void EDIT_SetDefaultFont(const GUI_FONT* pFont) {  _pDefaultFont = pFont;}const GUI_FONT* EDIT_GetDefaultFont(void) {  return _pDefaultFont;}void EDIT_SetDefaultTextAlign(int Align) {  WM_LOCK();  _DefaultAlign = Align;  WM_UNLOCK();}#else  /* avoid empty object files */void Edit_C(void) {}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91丝袜在线播放| 午夜电影网亚洲视频| 久久久久久久精| 日韩美女一区二区三区四区| 91精品国产一区二区三区蜜臀| 欧美日韩精品欧美日韩精品一| 欧美亚日韩国产aⅴ精品中极品| 欧美影视一区二区三区| 欧美少妇性性性| 欧美一级免费大片| 久久久美女毛片| 国产精品卡一卡二| 一区二区三区在线观看视频| 亚洲国产成人av网| 久久狠狠亚洲综合| 国产成人精品免费| 欧美中文字幕一二三区视频| 欧美军同video69gay| 亚洲精品一区二区三区香蕉| 欧美激情一区二区| 亚洲不卡av一区二区三区| 亚洲国产另类av| 国产乱码精品一区二区三区五月婷| 国产激情视频一区二区三区欧美| 91在线小视频| 欧美一区二区三区日韩| 日本一二三不卡| 亚洲国产精品久久不卡毛片| 精品无人码麻豆乱码1区2区 | 91福利精品视频| 4438x亚洲最大成人网| 2024国产精品视频| 专区另类欧美日韩| 男女视频一区二区| 色综合天天综合网国产成人综合天| 欧美日韩一级片网站| 国产欧美一区二区精品仙草咪| 一区二区三区精品在线观看| 韩国理伦片一区二区三区在线播放| 99r精品视频| www国产精品av| 午夜视频在线观看一区二区| 成人激情图片网| 日韩欧美一级特黄在线播放| 亚洲精品成人少妇| 国产99久久久久久免费看农村| 91精品国产综合久久精品app| 专区另类欧美日韩| 国产精品中文欧美| 欧美不卡一区二区| 亚洲v日本v欧美v久久精品| jvid福利写真一区二区三区| 精品精品欲导航| 亚洲一区二区三区视频在线播放| 国产精品一二三| 2024国产精品| 美女在线视频一区| 91精品婷婷国产综合久久性色| 亚洲午夜成aⅴ人片| 99精品偷自拍| 国产精品系列在线| 成人高清伦理免费影院在线观看| 日韩一级片在线观看| 天堂影院一区二区| 欧美日韩www| 性久久久久久久| 欧美日韩你懂得| 亚洲成年人影院| 欧美日韩在线一区二区| 亚洲一区二区三区激情| 欧美亚洲精品一区| 亚洲国产综合91精品麻豆| 91美女蜜桃在线| 亚洲最新视频在线观看| 欧美三级乱人伦电影| 亚洲bt欧美bt精品777| 337p亚洲精品色噜噜| 精品中文字幕一区二区小辣椒| 日韩免费观看2025年上映的电影 | 国产欧美日韩亚州综合| 成人毛片老司机大片| 国产精品久久久久久久裸模| av中文一区二区三区| 日韩毛片视频在线看| 欧美性videosxxxxx| 午夜精品久久久久久久久久 | 精品福利一区二区三区 | 亚洲午夜免费电影| 欧美精品粉嫩高潮一区二区| 久久99精品久久久久久| 久久久777精品电影网影网| 波多野结衣91| 亚洲一区二区三区不卡国产欧美| 91精品国产欧美一区二区成人| 久久国产精品99久久人人澡| 国产欧美日韩精品在线| 在线观看日韩精品| 免费日本视频一区| 中文字幕精品在线不卡| 色噜噜狠狠色综合中国| 日本在线不卡视频一二三区| 久久久五月婷婷| 欧美日韩在线综合| 国产精品1区2区| 亚洲国产一区在线观看| 久久久久久久电影| 在线观看欧美黄色| 国产一区二区三区免费看| 亚洲视频在线观看一区| 精品久久国产字幕高潮| 欧美最猛性xxxxx直播| 精品亚洲国内自在自线福利| 亚洲欧美国产三级| 久久综合色一综合色88| 91久久一区二区| 高清在线成人网| 久久精品国产澳门| 一区二区三区丝袜| 久久久久9999亚洲精品| 欧美伦理电影网| 色悠悠亚洲一区二区| 国产精品一区二区三区乱码| 天堂一区二区在线| 一区二区三区在线不卡| 国产精品污www在线观看| 欧美白人最猛性xxxxx69交| 欧美视频一区在线观看| 成人99免费视频| 国产一区二区三区最好精华液| 午夜欧美在线一二页| 亚洲精品免费视频| 国产精品激情偷乱一区二区∴| 精品乱人伦一区二区三区| 欧美日韩亚洲不卡| 在线亚洲精品福利网址导航| av成人老司机| 成人av网址在线| 国产老肥熟一区二区三区| 精品写真视频在线观看| 免费看欧美美女黄的网站| 亚洲444eee在线观看| 亚洲一区二区综合| 亚洲综合成人网| 亚洲成人av资源| 天堂蜜桃91精品| 日韩电影免费在线| 蜜桃av一区二区在线观看| 亚洲国产精品欧美一二99| 樱花草国产18久久久久| 中文字幕一区二区三区蜜月| 久久综合九色综合97婷婷| 久久久99免费| 中文在线资源观看网站视频免费不卡| 久久男人中文字幕资源站| 精品日韩av一区二区| 久久青草欧美一区二区三区| www国产精品av| 国产精品久久久一本精品| 中文字幕在线不卡一区| 一区二区三区四区蜜桃 | 懂色av一区二区在线播放| 国产不卡视频一区二区三区| 成人国产精品视频| 色综合天天性综合| 欧美日韩一区视频| 欧美成人艳星乳罩| 国产欧美一区二区精品久导航| 国产精品久久三| 一区二区三区在线视频观看| 奇米精品一区二区三区四区| 久久99蜜桃精品| av电影在线观看完整版一区二区| 欧美自拍丝袜亚洲| 日韩欧美二区三区| 久久久99精品免费观看不卡| 亚洲情趣在线观看| 天天色综合成人网| 国产99久久久国产精品潘金| 日本电影亚洲天堂一区| 欧美成va人片在线观看| 1024亚洲合集| 日韩av在线发布| 99精品久久免费看蜜臀剧情介绍| 欧美视频精品在线| 国产欧美精品在线观看| 亚洲国产另类av| 国产 日韩 欧美大片| 91精品国产综合久久精品图片 | 亚洲视频在线一区| 日本欧美一区二区三区乱码| 成人综合婷婷国产精品久久蜜臀| 欧美色图片你懂的| 国产精品视频在线看| 日韩电影一区二区三区| 波波电影院一区二区三区| 日韩精品一区二区三区在线播放| 亚洲免费在线视频| 国产成人啪免费观看软件| 欧美一区二区国产| 亚洲一区二区三区在线|