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

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

?? framewin.c

?? ucgui源碼3.32
?? C
?? 第 1 頁 / 共 2 頁
字號:
      pMsg->Data.v = pObj->hFocussedChild;
      return;
    case WM_SET_FOCUS:
      if (pMsg->Data.v) {      /* Focus received */
        if (pObj->hFocussedChild) {
          WM_SendMessage(pObj->hFocussedChild, pMsg);
        } else {
          pObj->hFocussedChild = WM_SetFocusOnNextChild(hWin);
        }
      }
      return;
    case WM_KEY:
      if ( ((WM_KEY_INFO*)(pMsg->Data.p))->PressedCnt >0) {
        int Key = ((WM_KEY_INFO*)(pMsg->Data.p))->Key;
        switch (Key) {
          case GUI_KEY_TAB:
            pObj->hFocussedChild = WM_SetFocusOnNextChild(hWin);
            break;                    /* Send to parent by not doing anything */
        }
      }
      break;
    case WM_NOTIFY_CHILD_HAS_FOCUS:
      pObj->hFocussedChild = pMsg->hWinSrc;
      if (pMsg->Data.v) {
        pObj->Widget.State |= WIDGET_STATE_CHILD_HAS_FOCUS;
      } else {
        pObj->Widget.State &= ~WIDGET_STATE_CHILD_HAS_FOCUS;
      }
      WM_InvalidateWindow(hParent);
      break;
    case WM_GET_BKCOLOR:
      pMsg->Data.Color = pObj->ClientColor;
      return;                       /* Message handled */
    case WM_GET_CLIENT_WINDOW:      /* return handle to client window. For most windows, there is no seperate client window, so it is the same handle */
      WM_DefaultProc(pMsg);
      return;                       /* We are done ! */
  }
  if (cb) {
    pMsg->hWin = hParent;
    (*cb)(pMsg);
  }
}

/*********************************************************************
*
*        Exported routines:  Create
*
**********************************************************************
*/

FRAMEWIN_Handle FRAMEWIN_CreateAsChild( 
                                    int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
                                    const char* pText, WM_CALLBACK* cb, int Flags)
{
  FRAMEWIN_Handle hObj;
  /* Create the window */
  GUI_LOCK();
  hObj = WM_CreateWindowAsChild(x0, y0, xsize/*+2*HBorder*/, ysize/*+TBorder+BBorder*/, hParent,
                        Flags, _FRAMEWIN_Callback, sizeof(FRAMEWIN_Obj) - sizeof(WM_Obj));
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    /* init widget specific variables */
    WIDGET__Init(&pObj->Widget, WIDGET_STATE_FOCUSSABLE | WIDGET_STATE_ENABLED);
    /* init member variables */
    pObj->pFont = _pDefaultFont;
    memcpy(pObj->BarColor, _aBarColor, sizeof(pObj->BarColor));
    pObj->TextColor    = 0xffffff;
    pObj->TextAlign    = GUI_TA_LEFT;
    pObj->ClientColor  = _DefaultClientColor;
    pObj->pText        = pText;
    pObj->XOff = 1;
    pObj->YOff = 1;
    pObj->cb = cb;
    _CalcPositions(hObj);
#if 0
    pObj->hClient = WM_CreateWindowAsChild(pObj->rClient.x0, pObj->rClient.y0,
                                           pObj->rClient.x1 - pObj->rClient.x0 +1, 
                                           pObj->rClient.y1 - pObj->rClient.y0 +1, 
                                           hObj, WM_CF_SHOW, FRAMEWIN__cbClient, 0);
#else
    pObj->hClient = WM_CreateWindowAsChild(0,0,0,0,
                                           hObj, WM_CF_SHOW, FRAMEWIN__cbClient, 0);
#endif
  }
  GUI_UNLOCK();
  return hObj;
}

FRAMEWIN_Handle FRAMEWIN_Create( const char* pText,
                                    WM_CALLBACK* cb,
                                    int Flags,
                                    int x0, int y0, int xsize, int ysize) {

  return FRAMEWIN_CreateAsChild(x0, y0, xsize, ysize, WM_HWIN_NULL, pText, cb, Flags);
}


FRAMEWIN_Handle FRAMEWIN_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* pCallback) {
  FRAMEWIN_Handle hObj;
  hObj = FRAMEWIN_CreateAsChild(
    pCreateInfo->x0 + x0, pCreateInfo->y0 + y0, pCreateInfo->xSize, pCreateInfo->ySize, hWinParent,
    pCreateInfo->pName, pCallback, 0);
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->Flags = pCreateInfo->Flags;
  }
  return hObj;
}

/*********************************************************************
*
*        Exported routines:  Various methods
*
**********************************************************************
*/
void FRAMEWIN_SetFont(FRAMEWIN_Handle hObj, const GUI_FONT* pFont) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->pFont = pFont;
    _CalcPositions(hObj);
    FRAMEWIN_Invalidate(hObj);
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetBarColor(FRAMEWIN_Handle hObj, int index, GUI_COLOR color) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->BarColor[index] = color;
    FRAMEWIN_Invalidate(hObj);
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetTextColor(FRAMEWIN_Handle hObj, GUI_COLOR color) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->TextColor = color;
    FRAMEWIN_Invalidate(hObj);
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetText(FRAMEWIN_Handle hObj, const char* s) {
  char NeedsInvalidate;
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    NeedsInvalidate = 1;
    if (s && pObj->pText) {
      if (strcmp(s, pObj->pText) == 0) {
        NeedsInvalidate = 0;
      }
    }
    pObj->pText = s;
    if (NeedsInvalidate) {
      FRAMEWIN_Invalidate(hObj);
    }
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetTextAlign(FRAMEWIN_Handle hObj, int Align) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->TextAlign = Align;
    switch (Align) {
    case GUI_TA_HCENTER:
      pObj->XOff = (pObj->rClient.x1 - pObj->rClient.x0) / 2;
      break;
    case GUI_TA_LEFT:
      pObj->XOff = pObj->FrameSize;
      break;
    case GUI_TA_RIGHT:
      pObj->XOff = pObj->rClient.x1 - pObj->FrameSize;
      break;
    }
    FRAMEWIN_Invalidate(hObj);
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetTextPos(FRAMEWIN_Handle hObj, int XOff, int YOff) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->XOff = XOff;
    pObj->YOff = YOff;
    FRAMEWIN_Invalidate(hObj);
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetClientColor(FRAMEWIN_Handle hObj, GUI_COLOR Color) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    pObj->ClientColor = Color;
    FRAMEWIN_Invalidate(hObj);
  }
  GUI_UNLOCK();
}


void FRAMEWIN_SetMoveable(FRAMEWIN_Handle hObj, int State) {
  GUI_LOCK();
  if (hObj) {
    FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
    if (State) {
      pObj->Flags |= FRAMEWIN_CF_MOVEABLE;
    } else {
      pObj->Flags &= ~FRAMEWIN_CF_MOVEABLE;
    }
  }
  GUI_UNLOCK();
}

void FRAMEWIN_SetActive(FRAMEWIN_Handle hObj, int State) {
  GUI_LOCK();
  if (hObj) {
    if (State) {
      FRAMEWIN_SetBarColor(hObj, 0, FRAMEWIN_BARCOLOR_ACTIVE_DEFAULT);
    } else {
      FRAMEWIN_SetBarColor(hObj, 0, FRAMEWIN_BARCOLOR_INACTIVE_DEFAULT);
    }
  }
  GUI_UNLOCK();
}


/***************************************************************
*
*                Set/Get defaults
*
***************************************************************/

void FRAMEWIN_SetDefaultFont(const GUI_FONT* pFont) {
  _pDefaultFont = pFont;
}

const GUI_FONT* FRAMEWIN_GetDefaultFont(void) {
  return _pDefaultFont;
}

void FRAMEWIN_SetDefaultBarColor(int Index, GUI_COLOR Color) {
  if ((Index >= 0) && (Index <= 1)) {
    _aBarColor[Index] = Color;
  }
}

GUI_COLOR FRAMEWIN_GetDefaultBarColor(int Index) {
  GUI_COLOR r = 0;
  if ((Index >= 0) && (Index <= 1)) {
    r = _aBarColor[Index];
  }
  return r;
}

void FRAMEWIN_SetDefaultClientColor(GUI_COLOR Color) {
  _DefaultClientColor = Color;
}

GUI_COLOR FRAMEWIN_GetDefaultClientColor(void) {
  return _DefaultClientColor;
}

int FRAMEWIN_GetDefaultCaptionSize(void) {
  return _DefaultCaptionSize;
}

void FRAMEWIN_SetDefaultCaptionSize(int DefaultCaptionSize) {
  _DefaultCaptionSize = DefaultCaptionSize;
}

int FRAMEWIN_GetDefaultBorderSize(void) {
  return _DefaultBorderSize;
}

void FRAMEWIN_SetDefaultBorderSize(int DefaultBorderSize) {
  _DefaultBorderSize = DefaultBorderSize;
}


#else
  void WIDGET_FrameWin(void) {} /* avoid empty object files */
#endif /* GUI_WINSUPPORT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品国产精品毛片| 亚洲午夜久久久久久久久电影网| 成人黄色片在线观看| 日韩精品午夜视频| 中文一区二区在线观看| 欧美精品 日韩| 成人动漫一区二区| 免费观看在线综合色| 亚洲精品中文在线| 久久久久88色偷偷免费| 欧美一区二区三区性视频| 99久久免费视频.com| 激情六月婷婷久久| 日韩精品成人一区二区在线| 亚洲图片另类小说| 久久精品亚洲精品国产欧美| 4438x亚洲最大成人网| 色悠悠久久综合| 成人污污视频在线观看| 久久精品国产99| 视频一区二区三区中文字幕| 亚洲免费大片在线观看| 国产精品久久看| 国产午夜精品理论片a级大结局 | 91在线观看视频| 韩国精品在线观看| 国产传媒久久文化传媒| 全国精品久久少妇| 天天av天天翘天天综合网| 一区二区三区四区不卡在线| 综合久久久久久| 国产精品色眯眯| 欧美激情一区二区三区在线| 精品国偷自产国产一区| 欧美一级高清片| 91精品麻豆日日躁夜夜躁| 欧美日韩国产片| 欧美色综合网站| 在线成人高清不卡| 欧美久久久久久蜜桃| 欧美日韩一区不卡| 欧美日韩亚洲国产综合| 欧美日韩精品一区二区| 欧美色大人视频| 欧美人xxxx| 911精品产国品一二三产区| 欧美久久一二区| 欧美一区永久视频免费观看| 日韩三级中文字幕| 精品乱人伦小说| 国产欧美va欧美不卡在线| 亚洲国产精品t66y| 亚洲视频每日更新| 亚洲综合av网| 亚洲va韩国va欧美va精品| 视频一区二区三区入口| 激情综合色播五月| 国产精品一区二区在线看| 国产风韵犹存在线视精品| www.亚洲精品| 精品视频在线免费观看| 日韩视频中午一区| 国产无一区二区| 成人欧美一区二区三区白人 | 亚洲三级电影网站| 亚洲午夜成aⅴ人片| 日韩av一二三| 国产精品一区二区免费不卡 | 日韩视频123| 国产欧美日韩精品一区| 亚洲精品视频一区| 日日摸夜夜添夜夜添精品视频| 美女网站视频久久| 国产mv日韩mv欧美| 在线看国产一区二区| 日韩一卡二卡三卡| 国产精品福利在线播放| 偷拍日韩校园综合在线| 国产精品一区二区三区乱码| 99久久精品免费精品国产| 欧美日韩国产首页| 亚洲小少妇裸体bbw| 毛片一区二区三区| caoporen国产精品视频| 91.com在线观看| 国产亚洲成年网址在线观看| 亚洲黄色在线视频| 麻豆传媒一区二区三区| 99久久免费视频.com| 91精品在线一区二区| 亚洲欧美综合在线精品| 免费人成黄页网站在线一区二区| 盗摄精品av一区二区三区| 欧美日韩国产一级片| 国产精品久久久久影院亚瑟| 亚洲成人综合网站| 9人人澡人人爽人人精品| 日韩一区二区精品在线观看| 最新热久久免费视频| 久久er精品视频| 在线日韩国产精品| 亚洲国产高清在线观看视频| 日本成人在线一区| 91豆麻精品91久久久久久| 久久久.com| 美女视频黄a大片欧美| 日本道免费精品一区二区三区| 国产欧美一区二区精品性色超碰 | 国产精品乱人伦一区二区| 日本麻豆一区二区三区视频| 91国产免费观看| 亚洲国产精品激情在线观看| 老司机精品视频在线| 欧美日韩视频不卡| 亚洲精品国产一区二区精华液| 国产福利电影一区二区三区| 日韩视频一区二区三区| 五月天激情综合| 91麻豆国产福利在线观看| 国产视频一区在线观看| 久久国产精品露脸对白| 欧美精品欧美精品系列| 亚洲午夜精品17c| 色婷婷狠狠综合| 亚洲欧洲av一区二区三区久久| 国产91精品入口| 欧美激情在线一区二区| 国产福利一区二区三区在线视频| 精品国产伦一区二区三区观看体验| 五月综合激情网| 国产色产综合产在线视频| 日韩国产欧美在线播放| 欧美日韩国产经典色站一区二区三区| 亚洲另类春色国产| 91社区在线播放| 国产精品福利一区| 99久久夜色精品国产网站| 国产精品国产三级国产aⅴ入口| 国产成人自拍网| 日本一区二区三区免费乱视频| 国产福利91精品一区二区三区| 久久精品一区二区三区四区| 国产成人一级电影| 欧美激情综合五月色丁香小说| 国产91综合网| 中文字幕一区二区三区不卡在线 | 国产麻豆精品一区二区| 精品久久一二三区| 国产精品99久久不卡二区| 国产精品午夜电影| 日本韩国一区二区| 亚洲3atv精品一区二区三区| 欧美一区永久视频免费观看| 精品一区二区免费| 国产片一区二区| 色婷婷国产精品久久包臀| 亚洲一区二区三区激情| 7878成人国产在线观看| 狠狠色综合播放一区二区| 欧美韩日一区二区三区| 色婷婷精品大在线视频 | 久久久久久电影| av亚洲精华国产精华| 亚洲国产精品久久一线不卡| 日韩一区二区三区av| 国产91精品免费| 亚洲综合网站在线观看| 91精品国产色综合久久不卡蜜臀 | 久久 天天综合| 国产午夜精品久久久久久久| 93久久精品日日躁夜夜躁欧美| 亚洲图片欧美综合| 精品国产伦一区二区三区免费| 不卡电影一区二区三区| 亚洲成人免费视频| 精品不卡在线视频| 91丝袜美女网| 麻豆精品一区二区| 亚洲成av人影院| 久久综合视频网| 色哟哟亚洲精品| 极品瑜伽女神91| 一区二区三区四区在线播放| 日韩一级高清毛片| 成人午夜视频在线观看| 亚洲成人av电影在线| 久久久精品国产免费观看同学| 色综合久久久久综合体桃花网| 麻豆极品一区二区三区| 亚洲欧美日韩国产中文在线| 日韩欧美一区在线| 91免费在线看| 国内精品自线一区二区三区视频| 亚洲人123区| 久久久精品黄色| 777xxx欧美| 日本道色综合久久| 成人在线视频一区二区| 青娱乐精品视频| 亚洲伦在线观看|