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

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

?? newmenu.cpp

?? 方便的串口監視工具
?? CPP
?? 第 1 頁 / 共 5 頁
字號:

  if(bIsMenuBar)
  {
#ifdef _TRACE_MENU_
    TRACE(_T("BarState: 0x%lX Menus %ld\n"),lpDIS->itemState,m_dwOpenMenu);
#endif
    if(!m_dwOpenMenu && lpDIS->itemState&ODS_SELECTED)
    {
      lpDIS->itemState = (lpDIS->itemState&~ODS_SELECTED)|ODS_HOTLIGHT;
    }
    if(!(lpDIS->itemState&ODS_HOTLIGHT))
    { 
      colorSel = colorBitmap;
    }
    colorMenu = ColB;
  }

  CBrush m_brBackground(colorMenu);
  CBrush m_brSel(colorSel);
  CBrush m_brBitmap(colorBitmap);

  CRect RectL(lpDIS->rcItem);
  CRect RectR(lpDIS->rcItem);
  CRect RectSel(lpDIS->rcItem);

  if(bIsMenuBar)
  {
    RectR.InflateRect (0,0,0,0);
    RectSel.InflateRect (0,0,-2 -2,0);
  }  
  else
  {
    RectL.right = RectL.left + m_iconX + 8;
    RectR.left  = RectL.right;
    // Draw for Bitmapbackground
    pDC->FillSolidRect (RectL,colorBitmap);
  }
  // Draw for Textbackground
  pDC->FillSolidRect (RectR,colorMenu);

  // Spacing for submenu only in popups
  if(!bIsMenuBar)
  {
    RectR.left += 4;
    RectR.right-= 15;
  }

  //  Flag for highlighted item
  if(lpDIS->itemState & (ODS_HOTLIGHT|ODS_INACTIVE) )
  {
    lpDIS->itemState |= ODS_SELECTED;
  }

  if(bIsMenuBar && (lpDIS->itemState&ODS_SELECTED) )
  {
    if(!(lpDIS->itemState&ODS_INACTIVE) )
    {
      SetLastMenuRect(lpDIS->hDC,RectSel);
      if(!(lpDIS->itemState&ODS_HOTLIGHT) )
      { 
        int X,Y;
        CRect rect = RectR;
        int winH = rect.Height(); 

        // Simulate a shadow on right edge... 
        for (X=1; X<=4 ;X++)
        { 
          for (Y=0; Y<4 ;Y++)
          {
            pDC->SetPixel(rect.right-X,Y+rect.top, ColB );
          }
          for (Y=4; Y<8 ;Y++)
          {
            pDC->SetPixel(rect.right-X,Y+rect.top,DarkenColor(3 * X * (Y - 3), ColB)) ;
          }
          for (Y=8; Y<=(winH-1) ;Y++)
          {
            pDC->SetPixel(rect.right - X, Y+rect.top, DarkenColor(15 * X, ColB) );
          }
        }
      }
    }
  }
  // For keyboard navigation only
  BOOL bDrawSmalSelection = FALSE;
  // remove the selected bit if it's grayed out
  if( (lpDIS->itemState&ODS_GRAYED) && !m_bSelectDisable)
  {
    if( lpDIS->itemState & ODS_SELECTED )
    {
      lpDIS->itemState=lpDIS->itemState & ~ODS_SELECTED;
      DWORD MsgPos = ::GetMessagePos();
      if(MsgPos==CNewMenuHook::m_dwMsgPos)
      {
        bDrawSmalSelection = TRUE;
      }
      else
      {
        CNewMenuHook::m_dwMsgPos = MsgPos;
      }
    }
  }

  // Draw the seperator
  if(state & MF_SEPARATOR)
  {
    if(pMenuData->m_nTitleFlags&MFT_TITLE)
    {
      DrawTitle(lpDIS,bIsMenuBar);
    }
    else
    {
      // Draw only the seperator
      CRect rect;
      rect.top = RectR.CenterPoint().y;
      rect.bottom = rect.top+1;
      rect.right = lpDIS->rcItem.right+1;
      rect.left = RectR.left;
      pDC->FillSolidRect(rect,GetSysColor(COLOR_GRAYTEXT));
    }
  }
  else
  {
    if( (lpDIS->itemState & ODS_SELECTED) && !(lpDIS->itemState&ODS_INACTIVE) )
    {
      // Draw the selection
      CPen* pOldPen = pDC->SelectObject(&Pen);
      CBrush* pOldBrush = pDC->SelectObject(&m_brSel);
      pDC->Rectangle(RectSel);
      pDC->SelectObject(pOldBrush);
      pDC->SelectObject(pOldPen);
    }
    else if (bDrawSmalSelection)
    {
      // Draw the selection for keyboardnavigation
      CPen* pOldPen = pDC->SelectObject(&Pen);
      CBrush* pOldBrush = pDC->SelectObject(&m_brBackground);
      pDC->Rectangle(RectSel);
      pDC->SelectObject(pOldBrush);
      pDC->SelectObject(pOldPen);
    }

    UINT state = lpDIS->itemState;

    BOOL standardflag=FALSE;
    BOOL selectedflag=FALSE;
    BOOL disableflag=FALSE;
    BOOL checkflag=FALSE;

    CBrush m_brSelect;
    CPen m_penBack;

    CImageList* bitmap = pMenuData->m_pBitmap;
    CString strText = pMenuData->GetString();

    if((state&ODS_CHECKED) && (pMenuData->m_nMenuIconNormal<0))
    {
      if(state&ODS_SELECTED && m_selectcheck>0)
      {
        checkflag=TRUE;
      }
      else if(m_unselectcheck>0)
      {
        checkflag=TRUE;
      }
    }
    else if(pMenuData->m_nMenuIconNormal != -1)
    {
      standardflag=TRUE;
      if(state&ODS_SELECTED)
      {
        selectedflag=TRUE;
      }
      else if(state&ODS_GRAYED) 
      {
        disableflag=TRUE;
      }
    }

    // draw the menutext
    if(!strText.IsEmpty())
    {
      LOGFONT LogFontMenu;
      CFont FontMenu;

      NONCLIENTMETRICS nm;
      ::ZeroMemory(&nm,sizeof(nm));
      nm.cbSize = sizeof (nm);
      VERIFY (SystemParametersInfo(SPI_GETNONCLIENTMETRICS,nm.cbSize,&nm,0)); 
      LogFontMenu =  nm.lfMenuFont;

      // Default selection?
      if(state&ODS_DEFAULT)
      {
        // Make the font bold
        LogFontMenu.lfWeight = FW_BOLD;
      }
      FontMenu.CreateFontIndirect(&LogFontMenu);

      CString leftStr;
      CString rightStr;
      leftStr.Empty();
      rightStr.Empty();

      int tablocr=strText.ReverseFind(_T('\t'));
      if(tablocr!=-1)
      {
        rightStr=strText.Mid(tablocr+1);
        leftStr=strText.Left(strText.Find(_T('\t')));
      }
      else 
        leftStr=strText;

      // Draw the text in the correct colour:
      UINT nFormat  = DT_LEFT| DT_SINGLELINE|DT_VCENTER;
      UINT nFormatr = DT_RIGHT|DT_SINGLELINE|DT_VCENTER;

      int iOldMode = pDC->SetBkMode( TRANSPARENT);
      CFont* pOldFont = pDC->SelectObject (&FontMenu);

      COLORREF OldTextColor;
      if( (lpDIS->itemState&ODS_GRAYED) || 
          (bIsMenuBar && lpDIS->itemState&ODS_INACTIVE) )
      {
        // Draw the text disabled? 
        OldTextColor = pDC->SetTextColor(GetSysColor(COLOR_GRAYTEXT));
      }
      else
      {
        // Draw the text normal
        OldTextColor = pDC->SetTextColor(GetSysColor(COLOR_MENUTEXT));
      }
      if(bIsMenuBar)
      {
        pDC->DrawText(leftStr,RectSel, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
      }
      else
      {
        pDC->DrawText(leftStr,RectR, nFormat);
        if(tablocr!=-1) 
          pDC->DrawText (rightStr,RectR,nFormatr);
      }
      pDC->SetTextColor(OldTextColor);
      pDC->SelectObject(pOldFont);
      pDC->SetBkMode(iOldMode);
    }

    // Draw the Bitmap or checkmarks
    if(!bIsMenuBar)
    {
      CRect rect2 = RectR;
      
      if(checkflag||standardflag||selectedflag||disableflag)
      {
        if(checkflag && checkmaps)
        {
          CPoint ptImage(RectL.left+3,RectL.top+4);
          
          if(state&ODS_SELECTED)
            checkmaps->Draw(pDC,1,ptImage,ILD_TRANSPARENT);
          else 
            checkmaps->Draw(pDC,0,ptImage,ILD_TRANSPARENT);
        }
        else
        {
          //CPoint ptImage(rect.left+3,rect.top+2+dy);
          HICON hDrawIcon = bitmap->ExtractIcon(0);
          int cx,cy;
          ::ImageList_GetIconSize(*bitmap, &cx, &cy);
          CSize size(cx,cy);

          CPoint ptImage(RectL.left+3,RectL.top+4);

          CBrush* pBrush = &m_brBitmap; 

          // Need to draw the checked state
          if (state&ODS_CHECKED)
          {
            CRect rect = RectL;
            rect.InflateRect (-1,-1);

            CBrush Brush;
            if(selectedflag)
              Brush.CreateSolidBrush(DarkenColorXP(colorSel));
            else
              Brush.CreateSolidBrush(DarkenColorXP(colorMenu));

            CPen* pOldPen = pDC->SelectObject(&Pen);
            CBrush* pOldBrush = pDC->SelectObject(&Brush);

            pDC->Rectangle(rect);

            pDC->SelectObject(pOldBrush);
            pDC->SelectObject(pOldPen);
          } 
          else if(selectedflag)
          {
            CBrush Brush;
            Brush.CreateSolidBrush(DarkenColorXP(colorSel));

            ptImage.x++; ptImage.y++;
            pDC->DrawState(ptImage, size, hDrawIcon, DSS_NORMAL | DSS_MONO, &Brush);
            ptImage.x-=2; ptImage.y-=2;
          }

          if(state & ODS_DISABLED)
            pDC->DrawState(ptImage, size, hDrawIcon, DSS_DISABLED, pBrush);
          else
            pDC->DrawState(ptImage, size, hDrawIcon, DSS_NORMAL,(HBRUSH)NULL);
        }
      }
      if(pMenuData->m_nMenuIconNormal<0 && state&ODS_CHECKED && !checkflag)
      {
        MENUITEMINFO info;
        ZeroMemory(&info,sizeof(info));

        info.cbSize = sizeof(info);
        info.fMask = MIIM_CHECKMARKS;

        ::GetMenuItemInfo(HWndToHmenu(lpDIS->hwndItem),lpDIS->itemID,MF_BYCOMMAND, &info);

        if(state&ODS_CHECKED || info.hbmpUnchecked) 
        {
          CRect rect = RectL;
          rect.InflateRect (-1,-1);

          COLORREF transparentcol;
          if(state&ODS_SELECTED)
            transparentcol = DarkenColorXP(colorSel);
          else
            transparentcol = DarkenColorXP(colorMenu);

          CBrush Brush;
          Brush.CreateSolidBrush(transparentcol);

          CPen* pOldPen = pDC->SelectObject(&Pen);
          CBrush* pOldBrush = pDC->SelectObject(&Brush);

          pDC->Rectangle(rect);

          pDC->SelectObject(pOldBrush);
          pDC->SelectObject(pOldPen);
          if (state&ODS_CHECKED)
          {
            rect.InflateRect (-1,-1);
            if (!info.hbmpChecked)
            { // Checkmark
              DrawSpecialCharStyle(pDC,rect,98,state);
            }
            else
            { // Bullet
              DrawSpecialCharStyle(pDC,rect,105,state);
            }
          }
          else
          {
            CSize size = rect.Size();
            CPoint ptImage = rect.TopLeft();
            if(state & ODS_DISABLED)
              pDC->DrawState(ptImage, size, info.hbmpUnchecked, DSS_DISABLED, (HBRUSH)NULL);
            else
              pDC->DrawState(ptImage, size, info.hbmpUnchecked, DSS_NORMAL,(HBRUSH)NULL);
          }
        }
      }
      else if (lpDIS->itemID>=SC_SIZE && lpDIS->itemID<=SC_HOTKEY )
      {
        DrawSpecial_WinXP(pDC,RectL,lpDIS->itemID,state);
      }
    }
  }
}

void CNewMenu::DrawItem_SpecialStyle (LPDRAWITEMSTRUCT lpDIS, BOOL bIsMenuBar)
{
  if(!bIsMenuBar)
  {
    DrawItem_OldStyle(lpDIS,bIsMenuBar);
    return;
  }

  ASSERT(lpDIS != NULL);
  CDC* pDC = CDC::FromHandle(lpDIS->hDC);

  ASSERT(lpDIS->itemData);
  CNewMenuItemData* pMenuData = (CNewMenuItemData*)(lpDIS->itemData);

  CRect rect(lpDIS->rcItem);
  //rect.InflateRect(0,-1);

  COLORREF ColorBack;
  if(lpDIS->itemState&(ODS_SELECTED|ODS_HOTLIGHT))
  {
    ColorBack = GetSysColor(COLOR_HIGHLIGHT);
    SetLastMenuRect(lpDIS->hDC,rect);
  }
  else
  {
    ColorBack = GetSysColor(cCOLOR_MENUBAR);
  }
  pDC->FillSolidRect(rect,ColorBack);

  int iOldMode = pDC->SetBkMode( TRANSPARENT);
  CString strText = pMenuData->GetString();
  COLORREF crTextColor;
  if(!(lpDIS->itemState & ODS_GRAYED))
  {
    if(lpDIS->itemState&(ODS_SELECTED|ODS_HOTLIGHT)) 
      crTextColor = GetSysColor(COLOR_HIGHLIGHTTEXT);
    else
      crTextColor = GetSysColor(COLOR_MENUTEXT);
  }
  else
  {
    crTextColor = GetSysColor(COLOR_GRAYTEXT);
  }
  COLORREF oldColor = pDC->SetTextColor(crTextColor);
  
  pDC->DrawText(strText,rect,DT_CENTER|DT_SINGLELINE|DT_VCENTER);
  
  pDC->SetTextColor(oldColor);
  pDC->SetBkMode( iOldMode);
}

void CNewMenu::DrawItem_OldStyle (LPDRAWITEMSTRUCT lpDIS, BOOL bIsMenuBar)
{
  ASSERT(lpDIS != NULL);
  CDC* pDC = CDC::FromHandle(lpDIS->hDC);
  CRect rect;

  ASSERT(lpDIS->itemData);
  CNewMenuItemData* pMenuData = (CNewMenuItemData*)(lpDIS->itemData);

  UINT state = pMenuData->m_nFlags;
  CBrush m_brBackground;

  COLORREF ColorBack = bIsMenuBar?GetSysColor(cCOLOR_MENUBAR):GetSysColor(COLOR_MENU);

  m_brBackground.CreateSolidBrush(ColorBack);

  CRect RectL(lpDIS->rcItem);
  CRect RectR(lpDIS->rcItem);
  CRect RectSel(lpDIS->rcItem);

  RectL.InflateRect (-1,0,0,0);
  RectR.InflateRect (-1,0,0,0);
  RectSel.InflateRect (0,0,0,0);

  if(!bIsMenuBar)
  {
    RectL.right = RectL.left + m_iconX + 6 + GAP;
    RectR.left  = RectL.right;
    // Draw for Bitmapbackground
    pDC->FillSolidRect (RectL,ColorBack);
  }
  else
  {
#ifdef _TRACE_MENU_
    TRACE(_T("BarState: 0x%lX Menus %ld\n"),lpDIS->itemState,m_dwOpenMenu);
#endif
    if(!m_dwOpenMenu && lpDIS->itemState&ODS_SELECTED)
    {
      lpDIS->itemState = (lpDIS->itemState&~ODS_SELECTED)|ODS_HOTLIGHT;
    }

    RectR.InflateRect (1,0,0,0);
    RectSel.InflateRect (0,0,-5,0);
    RectSel.OffsetRect(1,-1);

    SetLastMenuRect(lpDIS->hDC,RectSel);
  }

   // For keyboard navigation only
  BOOL bDrawSmalSelection = FALSE;

  // remove the selected bit if it's grayed out
  if( (lpDIS->itemState&ODS_GRAYED) && !m_bSelectDisable )
  {
    if(lpDIS->itemState & ODS_SELECTED)
    {
      lpDIS->itemState &= ~ODS_SELECTED;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品丝袜在线| 在线播放91灌醉迷j高跟美女 | 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 精品亚洲成a人| 国产一区二区女| 99国产欧美另类久久久精品| 欧美国产丝袜视频| 亚洲三级电影网站| 另类中文字幕网| 成人福利在线看| 欧美日韩精品系列| 国产视频一区二区在线观看| 一个色在线综合| 裸体健美xxxx欧美裸体表演| 成人激情免费电影网址| 欧美精品v国产精品v日韩精品| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲精品视频在线看| 久久99精品久久久久久动态图| 91猫先生在线| 精品乱人伦小说| 亚洲韩国一区二区三区| 国产精品一区不卡| 欧美精品第一页| 中文字幕一区二区三区四区| 美女一区二区三区| 色av成人天堂桃色av| 久久综合中文字幕| 午夜精品一区二区三区三上悠亚| 国产精品亚洲一区二区三区在线| 欧美日韩一本到| 国产精品久久久久久妇女6080| 蜜臀av一级做a爰片久久| 99精品久久99久久久久| 亚洲精品一区二区三区精华液 | 色婷婷亚洲婷婷| 久久无码av三级| 同产精品九九九| 色88888久久久久久影院按摩| 久久久精品国产99久久精品芒果| 亚洲电影第三页| gogogo免费视频观看亚洲一| 日韩一级高清毛片| 亚洲福利电影网| 91美女在线看| 中文字幕精品三区| 国产在线视频精品一区| 欧美日韩不卡视频| 一区二区三区小说| 97久久超碰国产精品| 国产日韩v精品一区二区| 久久精品国产一区二区| 欧美日韩成人高清| 亚洲国产综合人成综合网站| 91色婷婷久久久久合中文| 中文字幕欧美区| 国产麻豆精品视频| 久久综合九色综合欧美98| 看电视剧不卡顿的网站| 欧美挠脚心视频网站| 亚洲制服欧美中文字幕中文字幕| 99在线精品一区二区三区| 欧美激情艳妇裸体舞| 高潮精品一区videoshd| 精品成人私密视频| 国产一区视频导航| 26uuu久久天堂性欧美| 美女精品自拍一二三四| 欧美一区二区视频免费观看| 五月婷婷色综合| 欧美一区二区黄| 日本aⅴ免费视频一区二区三区| 欧美精品久久99久久在免费线| 五月综合激情网| 欧美久久久久免费| 日韩电影在线一区| 日韩你懂的在线观看| 精品系列免费在线观看| 久久久久久一级片| 床上的激情91.| 中文字幕一区三区| 97超碰欧美中文字幕| 一区二区三区四区高清精品免费观看| 色婷婷av一区二区| 一区二区三区不卡视频| 欧美精品自拍偷拍| 久久成人久久爱| 久久久久久免费毛片精品| 风间由美一区二区av101| 国产精品国产三级国产aⅴ中文| 91社区在线播放| 亚洲成人一区二区在线观看| 91麻豆精品国产自产在线| 麻豆久久一区二区| 国产无遮挡一区二区三区毛片日本| 国产成人一级电影| 亚洲男同性视频| 在线不卡一区二区| 精久久久久久久久久久| 中日韩免费视频中文字幕| 91久久精品网| 毛片一区二区三区| 国产精品乱码久久久久久| 色综合色综合色综合色综合色综合 | 免费精品99久久国产综合精品| 26uuu欧美| 91小视频免费看| 日韩激情中文字幕| 国产亚洲精久久久久久| 色美美综合视频| 秋霞电影网一区二区| 亚洲国产精品传媒在线观看| 欧美视频一二三区| 国产乱码精品一区二区三区av| 成人欧美一区二区三区黑人麻豆 | 婷婷成人综合网| 国产亚洲污的网站| 欧美在线播放高清精品| 精品一区二区三区视频在线观看| ...av二区三区久久精品| 91精品欧美一区二区三区综合在| 成人性视频网站| 日韩和欧美一区二区| 国产精品免费久久| 91精品欧美福利在线观看| 成人精品视频一区二区三区尤物| 日韩精品三区四区| 中文字幕在线播放不卡一区| 欧美一区二区三区精品| 波多野结衣精品在线| 日本欧美韩国一区三区| 亚洲欧美一区二区视频| 精品精品国产高清a毛片牛牛 | 悠悠色在线精品| 久久久久国产一区二区三区四区| 欧美午夜精品一区| 成人一区二区三区视频在线观看 | www亚洲一区| 欧美日韩视频一区二区| www.欧美日韩| 黄网站免费久久| 午夜一区二区三区在线观看| 国产精品污污网站在线观看| 91精品一区二区三区久久久久久| 91在线国内视频| 国内精品伊人久久久久av影院 | 欧美视频在线观看一区二区| 国产盗摄一区二区三区| 日韩成人午夜电影| 亚洲黄色小视频| 国产精品久久久久久久久免费樱桃| 欧美大片顶级少妇| 欧美军同video69gay| 色天天综合久久久久综合片| 国产成人在线视频免费播放| 久久精品噜噜噜成人88aⅴ| 亚洲成人激情av| 一区二区三区高清在线| 亚洲欧美综合色| 国产精品视频九色porn| 久久精品男人的天堂| 精品黑人一区二区三区久久| 91精品婷婷国产综合久久| 在线观看亚洲成人| 日本高清视频一区二区| youjizz国产精品| 成人天堂资源www在线| 国产成人免费9x9x人网站视频| 狠狠色狠狠色综合系列| 久久精品国产久精国产爱| 日本伊人色综合网| 视频一区欧美精品| 亚洲国产精品尤物yw在线观看| 亚洲品质自拍视频网站| 亚洲嫩草精品久久| 亚洲精品一二三| 亚洲免费在线看| 一区二区高清在线| 亚洲一区二区不卡免费| 一区二区三区精品视频在线| 亚洲夂夂婷婷色拍ww47| 亚洲超丰满肉感bbw| 亚洲18影院在线观看| 偷偷要91色婷婷| 秋霞电影一区二区| 久久精品国产亚洲一区二区三区| 美女视频网站久久| 精品一区二区在线播放| 国产一区二区三区香蕉| 国产麻豆视频一区二区| 国产成人亚洲综合a∨婷婷| 成人免费看的视频| 91免费视频网址| 在线看日韩精品电影| 欧美男同性恋视频网站| 日韩欧美在线不卡| 精品99久久久久久| 国产午夜精品久久久久久久| 国产精品的网站| 一卡二卡三卡日韩欧美|