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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? header.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
  }
  WM_LOCK();
  pObj = (HEADER_Obj *)GUI_ALLOC_h2p(hObj); /* Don't use use WIDGET_H2P because WIDGET_INIT_ID() has not be called at this point */
  switch (pMsg->MsgId) {
  case WM_PAINT:
    _Paint(pObj);
    break;
  case WM_PID_STATE_CHANGED:
    _OnPidStateChange(hObj, pObj, pMsg);
    break;
#if (HEADER_SUPPORT_DRAG)
  case WM_TOUCH:
    _OnTouch(hObj, pObj, pMsg);
    break;
#endif
#if (HEADER_SUPPORT_DRAG & GUI_SUPPORT_MOUSE)
  case WM_MOUSEOVER:
    _OnMouseOver(hObj, pObj, pMsg);
    break;
#endif
  case WM_DELETE:
    _FreeAttached(pObj); /* No return here ... WM_DefaultProc needs to be called */
  default:
    WM_DefaultProc(pMsg);
  }
  WM_UNLOCK();
}

/*********************************************************************
*
*       Exported routines:  Create
*
**********************************************************************
*/
/*********************************************************************
*
*       HEADER_Create
*/
HEADER_Handle HEADER_Create(int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int ExFlags) {
  return HEADER_CreateEx(x0, y0, xsize, ysize, hParent, Flags, ExFlags, Id);
}

/*********************************************************************
*
*       HEADER_CreateEx
*/
HEADER_Handle HEADER_CreateEx(int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
                              int WinFlags, int ExFlags, int Id)
{
  HEADER_Handle hObj;
  GUI_USE_PARA(ExFlags);
  /* Create the window */
  WM_LOCK();
  if ((xsize == 0) && (x0 == 0) && (y0 == 0)) {
    GUI_RECT Rect;
    WM_GetInsideRectEx(hParent, &Rect);
    xsize = Rect.x1 - Rect.x0 + 1;
    x0    = Rect.x0;
    y0    = Rect.y0;
  }
  if (ysize == 0) {
    const WIDGET_EFFECT* pEffect = WIDGET_GetDefaultEffect();
    ysize  = GUI_GetYDistOfFont(_pDefaultFont);
    ysize += 2 * _DefaultBorderV;
    ysize += 2 * (unsigned)pEffect->EffectSize;
  }
  WinFlags |= WM_CF_ANCHOR_LEFT | WM_CF_ANCHOR_RIGHT;
  hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, &HEADER_Callback,
                                sizeof(HEADER_Obj) - sizeof(WM_Obj));
  if (hObj) {
    HEADER_Obj * pObj;
    pObj = (HEADER_Obj *)GUI_ALLOC_h2p(hObj); /* Don't use use WIDGET_H2P because WIDGET_INIT_ID() has not be called at this point */
    /* Init sub-classes */
    GUI_ARRAY_CREATE(&pObj->Columns);
    /* init widget specific variables */
    WIDGET__Init(&pObj->Widget, Id, 0);
    /* init member variables */
    HEADER_INIT_ID(pObj);
    pObj->BkColor     = _DefaultBkColor;
    pObj->TextColor   = _DefaultTextColor;
    pObj->pFont       = _pDefaultFont;
    pObj->CapturePosX = -1;
    pObj->CaptureItem = -1;
    pObj->ScrollPos   = 0;
    pObj->DirIndicatorColumn = -1;
  } else {
    GUI_DEBUG_ERROROUT_IF(hObj==0, "HEADER_Create failed")
  }
  WM_UNLOCK();
  return hObj;
}

/*********************************************************************
*
*       Exported routines: Global functions
*
**********************************************************************
*/
/*********************************************************************
*
*       HEADER_SetDefautCursor
*/
const GUI_CURSOR GUI_UNI_PTR * HEADER_SetDefaultCursor(const GUI_CURSOR * pCursor) {
  const GUI_CURSOR GUI_UNI_PTR * pOldCursor = _pDefaultCursor;
  _pDefaultCursor = pCursor;
  return pOldCursor;
}

/*********************************************************************
*
*       HEADER_SetDefaultBkColor
*/
GUI_COLOR HEADER_SetDefaultBkColor(GUI_COLOR Color) {
  GUI_COLOR OldColor = _DefaultBkColor;
  _DefaultBkColor = Color;
  return OldColor;
}

/*********************************************************************
*
*       HEADER_SetDefaultTextColor
*/
GUI_COLOR HEADER_SetDefaultTextColor(GUI_COLOR Color) {
  GUI_COLOR OldColor = _DefaultTextColor;
  _DefaultTextColor = Color;
  return OldColor;
}

/*********************************************************************
*
*       HEADER_SetDefaultBorderH
*/
int HEADER_SetDefaultBorderH(int Spacing) {
  int OldSpacing = _DefaultBorderH;
  _DefaultBorderH = Spacing;
  return OldSpacing;
}

/*********************************************************************
*
*       HEADER_SetDefaultBorderV
*/
int HEADER_SetDefaultBorderV(int Spacing) {
  int OldSpacing = _DefaultBorderV;
  _DefaultBorderV = Spacing;
  return OldSpacing;
}

/*********************************************************************
*
*       HEADER_SetDefaultFont
*/
const GUI_FONT GUI_UNI_PTR * HEADER_SetDefaultFont(const GUI_FONT GUI_UNI_PTR * pFont) {
  const GUI_FONT GUI_UNI_PTR * pOldFont = _pDefaultFont;
  _pDefaultFont = pFont;
  return pOldFont;
}

/*********************************************************************
*
*       HEADER_GetDefault...
*/
const GUI_CURSOR GUI_UNI_PTR *  HEADER_GetDefaultCursor(void)    { return _pDefaultCursor; }
GUI_COLOR          HEADER_GetDefaultBkColor(void)   { return _DefaultBkColor; }
GUI_COLOR          HEADER_GetDefaultTextColor(void) { return _DefaultTextColor; }
int                HEADER_GetDefaultBorderH(void)   { return _DefaultBorderH; }
int                HEADER_GetDefaultBorderV(void)   { return _DefaultBorderV; }
const GUI_FONT GUI_UNI_PTR *    HEADER_GetDefaultFont(void)      { return _pDefaultFont; }

/*********************************************************************
*
*       Exported routines: Member functions
*
**********************************************************************
*/
/*********************************************************************
*
*       HEADER_SetFont
*/
void HEADER_SetFont(HEADER_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont) {
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    pObj->pFont = pFont;
    HEADER_SetHeight(hObj, GUI_GetYDistOfFont(pFont) + 2 * HEADER_BORDER_V_DEFAULT + 2 * pObj->Widget.pEffect->EffectSize);
    WM_InvalidateWindow(hObj);
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_SetHeight
*/
void HEADER_SetHeight(HEADER_Handle hObj, int Height) {
  if (hObj) {
    GUI_RECT Rect;
    WM_GetClientRectEx(hObj, &Rect);
    WM_SetSize(hObj, Rect.x1 - Rect.x0 + 1, Height);
    WM_InvalidateWindow(WM_GetParent(hObj));
  }
}

/*********************************************************************
*
*       HEADER_SetTextColor
*/
void HEADER_SetTextColor(HEADER_Handle hObj, GUI_COLOR Color) {
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    pObj->TextColor = Color;
    WM_InvalidateWindow(hObj);
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_SetBkColor
*/
void HEADER_SetBkColor(HEADER_Handle hObj, GUI_COLOR Color) {
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    pObj->BkColor = Color;
    WM_InvalidateWindow(hObj);
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_SetTextAlign
*/
void HEADER_SetTextAlign(HEADER_Handle hObj, unsigned int Index, int Align) {
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (Index <= GUI_ARRAY_GetNumItems(&pObj->Columns)) {
      HEADER_COLUMN * pColumn;
      pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
      pColumn->Align = Align;
      WM_InvalidateWindow(hObj);
    }
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_SetScrollPos
*/
void HEADER_SetScrollPos(HEADER_Handle hObj, int ScrollPos) {
  if (hObj && (ScrollPos >= 0)) {
    HEADER_Obj* pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (ScrollPos != pObj->ScrollPos) {
      pObj->ScrollPos = ScrollPos;
      WM_Invalidate(hObj);
      WM_InvalidateWindow(WM_GetParent(hObj));
    }
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_AddItem
*/
void HEADER_AddItem(HEADER_Handle hObj, int Width, const char * s, int Align) {
  if (hObj) {
    HEADER_Obj * pObj;
    HEADER_COLUMN Column;
    int Index;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (!Width) {
      const GUI_FONT GUI_UNI_PTR * pFont = GUI_SetFont(pObj->pFont);
      Width = GUI_GetStringDistX(s) + 2 * (pObj->Widget.pEffect->EffectSize + _DefaultBorderH);
      GUI_SetFont(pFont);
    }
    Column.Width    = Width;
    Column.Align    = Align;
    Column.hDrawObj = 0;
    Index = GUI_ARRAY_GetNumItems(&pObj->Columns);
    if (GUI_ARRAY_AddItem(&pObj->Columns, &Column, sizeof(HEADER_COLUMN) + strlen(s) + 1) == 0) {
      HEADER_COLUMN * pColumn;
      pObj = HEADER_H2P(hObj);
      pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
      strcpy(pColumn->acText, s);
      WM_InvalidateWindow(hObj);
      WM_InvalidateWindow(WM_GetParent(hObj));
    }
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_DeleteItem
*/
void HEADER_DeleteItem(HEADER_Handle hObj, unsigned Index) {
  if (hObj) {
    HEADER_Obj* pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (Index < GUI_ARRAY_GetNumItems(&pObj->Columns)) {
      GUI_ARRAY_DeleteItem(&pObj->Columns, Index);
      WM_InvalidateWindow(hObj);
      WM_InvalidateWindow(WM_GetParent(hObj));
    }
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_SetItemText
*/
void HEADER_SetItemText(HEADER_Handle hObj, unsigned int Index, const char* s) {
  if (hObj) {
    HEADER_Obj* pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (Index < GUI_ARRAY_GetNumItems(&pObj->Columns)) {
      HEADER_COLUMN* pColumn;
      pColumn = (HEADER_COLUMN*)GUI_ARRAY_ResizeItem(&pObj->Columns, Index, sizeof(HEADER_COLUMN) + strlen(s));
      if (pColumn) {
        strcpy(pColumn->acText, s);
      }
    }
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_SetItemWidth
*/
void HEADER_SetItemWidth(HEADER_Handle hObj, unsigned int Index, int Width) {
  if (hObj && (Width >= 0)) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (Index <= GUI_ARRAY_GetNumItems(&pObj->Columns)) {
      HEADER_COLUMN * pColumn;
      pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
      if (pColumn) {
        WM_MESSAGE Msg;
        pColumn->Width = Width;
        Msg.hWin  = WM_GetParent(hObj);
        Msg.MsgId = WM_NOTIFY_CLIENTCHANGE;
        Msg.hWinSrc = hObj;
        WM_InvalidateWindow(hObj);
        WM__SendMessage(Msg.hWin, &Msg);
        //WM__SendMsgNoData(WM_GetParent(hObj), WM_NOTIFY_CLIENTCHANGE);
        WM_InvalidateWindow(WM_GetParent(hObj));
      }
    }
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       HEADER_GetHeight
*/
int HEADER_GetHeight(HEADER_Handle hObj) {
  int Height = 0;
  if (hObj) {
    GUI_RECT Rect;
    WM_GetClientRectEx(hObj, &Rect);
    GUI_MoveRect(&Rect, -Rect.x0, -Rect.y0);
    Height = Rect.y1 - Rect.y0 + 1;
  }
  return Height;
}

/*********************************************************************
*
*       HEADER_GetItemWidth
*/
int HEADER_GetItemWidth(HEADER_Handle hObj, unsigned int Index) {
  int Width = 0;
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if (Index <= GUI_ARRAY_GetNumItems(&pObj->Columns)) {
      HEADER_COLUMN * pColumn;
      pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
      Width = pColumn->Width;
    }
    WM_UNLOCK();
  }
  return Width;
}

/*********************************************************************
*
*       HEADER_GetNumItems
*/
int  HEADER_GetNumItems(HEADER_Handle hObj) {
  int NumCols = 0;
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    NumCols = GUI_ARRAY_GetNumItems(&pObj->Columns);
    WM_UNLOCK();
  }
  return NumCols;
}

/*********************************************************************
*
*       HEADER_SetDirIndicator
*/
void HEADER_SetDirIndicator(HEADER_Handle hObj, int Column, int Reverse) {
  if (hObj) {
    HEADER_Obj * pObj;
    WM_LOCK();
    pObj = HEADER_H2P(hObj);
    if ((pObj->DirIndicatorColumn != Column) || (pObj->DirIndicatorReverse != Reverse)) {
      pObj->DirIndicatorColumn = Column;
      pObj->DirIndicatorReverse = Reverse;
      WM_InvalidateWindow(hObj);
    }
    WM_UNLOCK();
  }
}

#else /* avoid empty object files */

void HEADER_C(void);
void HEADER_C(void){}

#endif  /* #if GUI_WINSUPPORT */
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久天天做天天爱综合色| 亚洲精品在线观看网站| 91蜜桃在线免费视频| 韩国精品主播一区二区在线观看| 午夜精彩视频在线观看不卡| 一区二区三区四区不卡在线| 亚洲色图在线播放| 成人欧美一区二区三区在线播放| 亚洲国产精品黑人久久久| 国产亚洲欧美在线| 国产精品美女久久久久久2018| 国产蜜臀av在线一区二区三区| 国产欧美一区二区精品婷婷| 国产精品无遮挡| 天堂资源在线中文精品| 国产乱子伦一区二区三区国色天香| 精品一区二区日韩| 蜜桃一区二区三区在线| 久久99精品国产麻豆婷婷洗澡| 狠狠色狠狠色合久久伊人| 极品销魂美女一区二区三区| 国产精品一二三在| 成人久久久精品乱码一区二区三区| 波多野洁衣一区| 欧美在线色视频| 91精品国产91综合久久蜜臀| 日韩女优av电影在线观看| 久久色中文字幕| 国产精品狼人久久影院观看方式| 亚洲人成人一区二区在线观看| 一区二区三区蜜桃网| 日韩高清在线观看| 国产精品白丝av| 99re热这里只有精品免费视频| 欧美日韩一区二区三区免费看 | 丁香激情综合五月| 色综合色综合色综合色综合色综合 | 国产麻豆精品视频| 北岛玲一区二区三区四区| 欧美在线一二三四区| 欧美成人一区二区三区片免费| 欧美经典一区二区三区| 亚洲综合一区二区| 寂寞少妇一区二区三区| 色悠久久久久综合欧美99| 日韩一区二区三区免费看| 久久精品亚洲乱码伦伦中文| 自拍偷拍亚洲激情| 麻豆精品国产传媒mv男同 | 国产欧美日韩视频在线观看| 亚洲资源中文字幕| 国内国产精品久久| 色哟哟在线观看一区二区三区| 日韩一区二区高清| 亚洲天堂av一区| 久久国产生活片100| 97久久久精品综合88久久| 欧美一区二区三区在线看| 欧美国产日韩a欧美在线观看| 一区二区三区不卡在线观看| 久久99热99| 欧美午夜寂寞影院| 欧美韩国日本综合| 蜜臀99久久精品久久久久久软件| 色综合久久中文综合久久牛| 精品久久人人做人人爱| 一区二区欧美视频| 国产精品白丝jk黑袜喷水| 777亚洲妇女| 亚洲欧美激情插 | 在线国产亚洲欧美| 国产女人水真多18毛片18精品视频| 日韩精品亚洲一区| 在线观看国产精品网站| 国产日韩欧美a| 美女视频网站黄色亚洲| 欧美午夜一区二区三区免费大片| 国产精品全国免费观看高清 | 欧美日韩国产bt| 中文字幕一区二区三区不卡| 久久99国产精品成人| 欧美理论电影在线| 亚洲激情自拍偷拍| 播五月开心婷婷综合| 精品国产亚洲在线| 日本特黄久久久高潮| 欧美视频精品在线观看| 亚洲免费在线观看视频| 不卡在线观看av| 国产午夜精品一区二区三区视频| 老司机免费视频一区二区三区| 欧美欧美欧美欧美| 午夜精品一区二区三区三上悠亚| 在线观看www91| 一区二区三区波多野结衣在线观看| 91碰在线视频| 亚洲图片另类小说| 99精品久久只有精品| 国产欧美一区二区三区鸳鸯浴| 国产美女一区二区三区| 欧美精品一区二区久久久| 精久久久久久久久久久| 欧美成人女星排行榜| 久久精品国产久精国产爱| 欧美一区二区三区系列电影| 日韩国产欧美一区二区三区| 欧美日韩国产另类不卡| 亚洲chinese男男1069| 欧美亚洲愉拍一区二区| 亚洲一级电影视频| 欧美日韩另类国产亚洲欧美一级| 亚洲成人一区在线| 欧美精品乱人伦久久久久久| 日韩二区在线观看| 日韩精品一区二区三区中文精品| 蜜桃av一区二区三区电影| 欧美一区二区日韩一区二区| 美女爽到高潮91| 国产日产欧美一区| www.成人在线| 亚洲永久精品大片| 337p亚洲精品色噜噜噜| 日本成人在线看| 26uuu另类欧美| 成人精品电影在线观看| 亚洲色图欧美在线| 欧美精品日韩一本| 国产精品一区2区| 亚洲视频1区2区| 欧美精品精品一区| 国产一区二区剧情av在线| 国产精品污污网站在线观看| 色婷婷一区二区| 日韩经典中文字幕一区| 久久婷婷成人综合色| 99re这里只有精品视频首页| 亚洲最新视频在线观看| 91精品国产综合久久精品麻豆| 国产一二三精品| 亚洲免费在线观看| 91精品国产综合久久精品麻豆| 国产成人免费在线| 亚洲一区二区三区四区在线免费观看 | 中文字幕中文字幕中文字幕亚洲无线 | 欧美日韩视频一区二区| 久久精品国产在热久久| 日本一区二区视频在线| 91福利资源站| 国产原创一区二区三区| 最新不卡av在线| 欧美一区二区精品久久911| 成人激情小说网站| 日韩黄色在线观看| 中文字幕av资源一区| 欧美日韩中文字幕一区| 国产九色sp调教91| 亚洲成av人片一区二区| 久久五月婷婷丁香社区| 欧美情侣在线播放| 不卡电影一区二区三区| 久久99久久久欧美国产| 一区二区三区在线播放| www一区二区| 欧美日韩国产bt| 99久久精品99国产精品 | 88在线观看91蜜桃国自产| 豆国产96在线|亚洲| 日韩国产欧美三级| 中文字幕一区二区三区视频| 欧美本精品男人aⅴ天堂| 日本韩国一区二区三区视频| 国产一区二区毛片| 秋霞影院一区二区| 一区二区三区美女| 国产精品毛片久久久久久久| 欧美v亚洲v综合ⅴ国产v| 在线中文字幕一区二区| 成人久久18免费网站麻豆| 七七婷婷婷婷精品国产| 亚洲一区免费在线观看| 国产精品久久久久久久久果冻传媒 | 成人免费黄色在线| 精品在线一区二区| 日欧美一区二区| 亚洲综合色网站| 亚洲欧洲国产日本综合| 久久美女艺术照精彩视频福利播放 | 精品国产一区a| 欧美一区二区视频在线观看2020 | 一本大道av伊人久久综合| 国产精选一区二区三区| 欧美aa在线视频| 午夜精品免费在线观看| 亚洲欧美日韩精品久久久久| 国产精品私房写真福利视频| 亚洲精品一区二区三区99| 欧美一区二区在线视频| 欧美喷潮久久久xxxxx| 欧美在线观看禁18| 日本韩国欧美一区|