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

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

?? coolcontrolsmanager.cpp

?? C++開發完整酒店管理系統
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
void CCoolControlsManager::CCMRadioButton::DrawControl( HDC hDC, const RECT& rect )
{
   DWORD dwStyle = GetWindowLong( m_hWnd, GWL_STYLE );

   if ( dwStyle & BS_PUSHLIKE )
   {
      CCMPushButton::DrawControl( hDC, rect );
      return;
   }  

   const int nRadioSize = 12;
   RECT rc;
   
   if ( ( dwStyle & BS_VCENTER ) == BS_VCENTER )
      rc.top = rect.top + ( ( rect.bottom - rect.top ) - nRadioSize - 1 ) / 2;
   else if ( dwStyle & BS_TOP )
      rc.top = rect.top + 1;
   else if ( dwStyle & BS_BOTTOM )
      rc.top = rect.bottom - nRadioSize - 3;
   else  // Default
      rc.top = rect.top + ( ( rect.bottom - rect.top ) - nRadioSize - 1 ) / 2;
   
   if ( dwStyle & BS_LEFTTEXT )
      rc.left = rect.right - nRadioSize;
   else
      rc.left = rect.left + 1;

   rc.right = rc.left + nRadioSize;
   rc.bottom = rc.top + nRadioSize;

   POINT pt1[] = { 
                  { 1,9 },{ 1,8 },
                  { 0,7 },{ 0,6 },{ 0,5 },{ 0,4 },
                  { 1,3 },{ 1,2 },
                  { 2,1 },{ 3,1 },
                  { 4,0 },{ 5,0 },{ 6,0 },{ 7,0 },
                  { 8,1 },{ 9,1 },
                  { 0,0 }
               };  
               
   POINT pt2[] = { 
                  { 2,8 },
                  { 1,7 },{ 1,6 },{ 1,5 },{ 1,4 },
                  { 2,3 },{ 2,2 },
                  { 3,2 },
                  { 4,1 },{ 5,1 },{ 6,1 },{ 7,1 },
                  { 8,2 },{ 9,2 },
                  { 0,0 }
               };  


   POINT pt3[] = { 
                  { 2,9 },{ 3,9 },
                  { 4,10 },{ 5,10 },{ 6,10 },{ 7,10 },
                  { 8,9 },{ 9,9 },
                  { 9,8 },
                  { 10,7 },{ 10,6 },{ 10,5 },{ 10,4 },
                  { 9,3 },
                  { 0,0 }
               };  

   POINT pt4[] = { 
                  { 2,10 },{ 3,10 },
                  { 4,11 },{ 5,11 },{ 6,11 },{ 7,11 },
                  { 8,10 },{ 9,10 },
                  { 10,9 },{ 10,8 },
                  { 11,7 },{ 11,6 },{ 11,5 },{ 11,4 },
                  { 10,3 },{ 10,2 },
                  { 0,0 }
               };  

   if ( m_nState & dsHoverMask )
   {
      DrawFrame( pt1, COLOR_3DSHADOW,
                      hDC, rc.left, rc.top );
      DrawFrame( pt2, COLOR_3DDKSHADOW,
                      hDC, rc.left, rc.top );
      DrawFrame( pt3, COLOR_3DFACE,
                      hDC, rc.left, rc.top );
      DrawFrame( pt4, COLOR_WINDOW,
                      hDC, rc.left, rc.top );
   }
   else
   {
      if ( IsWindowEnabled( m_hWnd ) == TRUE ) 
      {  
         DrawFrame( pt1, COLOR_3DSHADOW,
                         hDC, rc.left, rc.top );
         DrawFrame( pt2, COLOR_WINDOW,
                         hDC, rc.left, rc.top );
         DrawFrame( pt3, COLOR_3DFACE,
                         hDC, rc.left, rc.top );
         DrawFrame( pt4, COLOR_WINDOW,
                         hDC, rc.left, rc.top );                  
      }
      else
      {
         DrawFrame( pt1, COLOR_3DSHADOW,
                         hDC, rc.left, rc.top );
         DrawFrame( pt2, COLOR_3DFACE,
                         hDC, rc.left, rc.top );
         DrawFrame( pt3, COLOR_3DFACE,
                         hDC, rc.left, rc.top );
         DrawFrame( pt4, COLOR_3DHIGHLIGHT,
                         hDC, rc.left, rc.top );
      }
   }   
}

//////////////////////////////////////////////////////////////////////////////
// CCMUpDown class

void CCoolControlsManager::CCMUpDown::DrawButton( HDC hDC, const RECT& rc )
{
   // If associated edit control is disabled
   // draw the up-down as disabled too
   BOOL bEnabled = IsWindowEnabled( m_hWnd );
   HWND hWnd = (HWND)SendMessage( m_hWnd, UDM_GETBUDDY, 0, 0L );
   if ( hWnd )
      bEnabled = IsWindowEnabled( hWnd );

   if ( bEnabled && m_nState & dsHoverMask )
      Draw3dBorder( hDC, rc, COLOR_3DFACE, COLOR_3DDKSHADOW,
                             COLOR_3DHIGHLIGHT, COLOR_3DSHADOW );
   else
      Draw3dBorder( hDC, rc, COLOR_3DHIGHLIGHT, COLOR_3DSHADOW,
                             COLOR_3DFACE, COLOR_3DFACE );
}

void CCoolControlsManager::CCMUpDown::DrawControl( HDC hDC, const RECT& rect )
{         
   RECT rc = rect;
   CCMControl* pCtl = NULL;
   DWORD dwStyle = GetWindowLong( m_hWnd, GWL_STYLE );
   HWND hWnd = (HWND)SendMessage( m_hWnd, UDM_GETBUDDY, 0, 0L );
   if ( hWnd && ( dwStyle & UDS_ALIGNRIGHT || dwStyle & UDS_ALIGNLEFT ) )
   {
      if ( dwStyle & UDS_ALIGNLEFT )
         rc.left += 2;
      else   // UDS_ALIGNRIGHT
         rc.right -= 2;
      rc.top += 2;
      rc.bottom -= 2;
                 
      if ( g_ctrlManager.m_ctrlMap.Lookup( hWnd, (void*&)pCtl ) && 
           !( pCtl->GetState() & dsHoverMask ) )
      {
         COLORREF clr1 = GetSysColor( IsWindowEnabled( hWnd ) ? COLOR_3DHIGHLIGHT : COLOR_3DFACE );
         COLORREF clr2 = GetSysColor( IsWindowEnabled( hWnd ) ? COLOR_3DLIGHT : COLOR_3DFACE );

         FillSolidRect( hDC, rc.left, rc.top - 1,
                             rc.right, 1,
                             clr1 );
         FillSolidRect( hDC, rc.left, rc.bottom,
                             rc.right, 1,                                  
                             clr2 );

         if ( dwStyle & UDS_ALIGNLEFT )
            FillSolidRect( hDC, rc.left - 1, rc.top - 1,
                                1, rc.bottom,
                                clr1 );
         else
            FillSolidRect( hDC, rc.right, rc.top - 1,
                                1, rc.bottom,
                                clr2 );
      }
   }

   RECT r = rc;
   if ( dwStyle & UDS_HORZ )
   {
      r.right = r.left + ( rc.right - rc.left ) / 2;
      DrawButton( hDC, r );

      r.left = r.right + ( rc.right - rc.left ) % 2;
      r.right = rc.right;
      DrawButton( hDC, r );
   }
   else
   {
      r.bottom = r.top + ( rc.bottom - rc.top ) / 2;
      DrawButton( hDC, r );

      r.top = r.bottom + ( rc.bottom - rc.top ) % 2;
      r.bottom = rc.bottom;
      DrawButton( hDC, r );
   }

   if ( pCtl == NULL )  // Get parent (e.g. for datetime with up-down controls)
   {
      hWnd = GetParent( m_hWnd );
      g_ctrlManager.m_ctrlMap.Lookup( hWnd, (void*&)pCtl );
   }

   if ( pCtl && IsWindowEnabled( hWnd ) )   // Redraw parent or buddy if neccesary
   {
      if ( m_nState & dsHoverMask )
         pCtl->SetState( 0, dsHover );
      else
         pCtl->SetState( dsHover, 0 );
   }
}

//////////////////////////////////////////////////////////////////////////////
// CCMEditCombo class

void CCoolControlsManager::CCMEditCombo::PrepareDraw( HDC& hDC, RECT& rect )
{
   GetWindowRect( m_hWnd, &rect );
   InflateRect( &rect, 3, 3 );
   OffsetRect( &rect, -rect.left, -rect.top );
   // Draw onto that DC that is most suitable for given class   
   hDC = GetWindowDC( GetParent( m_hWnd ) );
}

//////////////////////////////////////////////////////////////////////////////
// CCMScrollBar class

void CCoolControlsManager::CCMScrollBar::DrawControl( HDC hDC, const RECT& rc )
{  
   DrawScrollBar( hDC, rc, 
             ( GetWindowLong( m_hWnd, GWL_STYLE ) & SBS_VERT ) ? SB_VERT : SB_HORZ,
             TRUE );
}

LRESULT CCoolControlsManager::CCMScrollBar::WindowProc( UINT uMsg, WPARAM wParam, LPARAM lParam )
{
   switch ( uMsg )
   {      
      // Scrollbar messages
      case SBM_SETPOS:
         if ( !lParam )  // redraw flag
            break;

      case SBM_SETSCROLLINFO:      
         if ( !wParam )  // redraw flag
            break;

      case SBM_SETRANGEREDRAW:
         CallWindowProc( m_oldWndProc, m_hWnd, uMsg, wParam, lParam );
         DrawBorder();
         return 0;

      default:
         return CCMControl::WindowProc( uMsg, wParam, lParam );
   }

   return CallWindowProc( m_oldWndProc, m_hWnd, uMsg, wParam, lParam );
}

//////////////////////////////////////////////////////////////////////////////
// CCMHeaderCtrl class

void CCoolControlsManager::CCMHeaderCtrl::DrawButton( HDC hDC, const RECT& rc, int nState )
{
   if ( nState & dsHoverMask )
      Draw3dBorder( hDC, rc, COLOR_3DHIGHLIGHT, COLOR_3DDKSHADOW,
                             COLOR_3DLIGHT, COLOR_3DSHADOW );
   else
      Draw3dBorder( hDC, rc, COLOR_3DHIGHLIGHT, COLOR_3DSHADOW,
                             COLOR_3DFACE, COLOR_3DFACE );      
}

void CCoolControlsManager::CCMHeaderCtrl::DrawControl( HDC hDC, const RECT& /*rc*/ )
{
   int nOldItem = m_nOldItem;
   m_nOldItem = -1;

   RECT rc;
   POINT point;
   GetCursorPos( &point );

   // This code fails if we will have standalone header control but such cases are rare...
   HWND hWnd = GetParent( m_hWnd ); 
   GetClientRect( GetParent( m_hWnd ), &rc );
   ScreenToClient( GetParent( m_hWnd ), &point );
   // Test if mouse pointer is within the client area of the list control
   BOOL bInView = PtInRect( &rc, point );    

   GetClientRect( m_hWnd, &rc );
   rc.right = 0;
   GetCursorPos( &point );
   ScreenToClient( m_hWnd, &point );
   hDC = GetDC( m_hWnd );
   
   int nState;
   int nCount = SendMessage( m_hWnd, HDM_GETITEMCOUNT, 0, 0L );   

   for ( int i = 0; i < nCount; i++ )
   {
    #if (_WIN32_IE >= 0x0300)
      HDITEM hi;
      hi.mask = HDI_ORDER;
      SendMessage( m_hWnd, HDM_GETITEM, i, (LPARAM)&hi );
      SendMessage( m_hWnd, HDM_GETITEMRECT, hi.iOrder, (LPARAM)&rc );
    #else
      SendMessage( m_hWnd, HDM_GETITEMRECT, i, (LPARAM)&rc );
    #endif
      nState = 0;
      if ( bInView & PtInRect( &rc, point ) )
      {
         nState = dsHover;
       #if (_WIN32_IE >= 0x0300)
         m_nOldItem = hi.iOrder;
       #else
         m_nOldItem = i;
       #endif
      }
      DrawButton( hDC, rc, nState );
   }

   int l = rc.right;
   GetClientRect( m_hWnd, &rc );
   rc.left = l;
   DrawButton( hDC, rc, 0 );

   // If header is a child of ListView, redraw the list so 
   // it will indicate proper state      
   CCMControl* pCtl;   
   if ( g_ctrlManager.m_ctrlMap.Lookup( hWnd, (void*&)pCtl ) )
   {
      if ( m_nOldItem >= 0 )
         pCtl->SetState( 0, dsHover );
      else if ( nOldItem >= 0 )
         pCtl->SetState( dsHover, 0 );
   }

   ReleaseDC( m_hWnd, hDC );
}

BOOL CCoolControlsManager::CCMHeaderCtrl::NeedRedraw( const POINT& point )
{
   RECT rc;
   GetClientRect( m_hWnd, &rc );
   rc.right = 0;

   POINT pt = point;
   ScreenToClient( m_hWnd, &pt );

   int nItem = -1;
   int nCount = SendMessage( m_hWnd, HDM_GETITEMCOUNT, 0, 0L );

   for ( int i = 0; i < nCount; i++ )
   {
      HDITEM hi;
      hi.mask = HDI_WIDTH;      
      SendMessage( m_hWnd, HDM_GETITEM, i, (LPARAM)&hi );
      rc.left = rc.right;
      rc.right = rc.left + hi.cxy;
      if ( PtInRect( &rc, pt ) )
      {
         nItem = i;
         break;
      }
   }

   if ( m_hWnd != m_hWndOld || ( m_hWnd == m_hWndOld && m_nOldItem != nItem ) )
      return TRUE;
   return FALSE;
}

//////////////////////////////////////////////////////////////////////////////
// CCMTrackbar class

void CCoolControlsManager::CCMTrackbar::DrawThumb( HDC hDC, const RECT& rc )
{
   DWORD dwStyle = GetWindowLong( m_hWnd, GWL_STYLE );

   if ( dwStyle & TBS_BOTH )
   {
      FillSolidRect( hDC, rc, GetSysColor( COLOR_3DFACE ) );
      if ( m_nState & dsHoverMask )
         Draw3dBorder( hDC, rc, COLOR_3DHIGHLIGHT, COLOR_3DDKSHADOW,
                                COLOR_3DLIGHT, COLOR_3DSHADOW );
      else
         Draw3dBorder( hDC, rc, COLOR_3DHIGHLIGHT, COLOR_3DSHADOW,
                                COLOR_3DFACE, COLOR_3DFACE );      
      return;
   }
   
   HPEN penHighlight = CreatePen( PS_SOLID, 1, GetSysColor( COLOR_3DHIGHLIGHT ) );
   HPEN penLight = CreatePen( PS_SOLID, 1, GetSysColor( m_nState & dsHoverMask ? COLOR_3DLIGHT : COLOR_3DFACE ) );
   HPEN penDkShadow = CreatePen( PS_SOLID, 1, GetSysColor( m_nState & dsHoverMask ? COLOR_3DDKSHADOW : COLOR_3DSHADOW ) );
   HPEN penShadow = CreatePen( PS_SOLID, 1, GetSysColor( m_nState & dsHoverMask ? COLOR_3DSHADOW : COLOR_3DFACE ) );

   int n;
   if ( dwStyle & TBS_VERT )
   {
      if ( dwStyle & TBS_LEFT )
      {    
         n = ( rc.bottom - rc.top ) / 2 + 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩久久一区二区| 在线播放亚洲一区| 青青草97国产精品免费观看| 日本一区二区在线不卡| 日韩欧美中文字幕精品| 色妹子一区二区| 国产一区二区久久| 日韩制服丝袜先锋影音| 中文字幕永久在线不卡| 精品国产免费视频| 欧美精品自拍偷拍动漫精品| 91美女福利视频| 岛国一区二区在线观看| 国产真实乱对白精彩久久| 五月激情综合婷婷| 夜色激情一区二区| 亚洲欧美自拍偷拍| 国产精品三级久久久久三级| www久久久久| 日韩视频一区二区三区在线播放| 欧美色精品在线视频| 91丝袜美腿高跟国产极品老师| 国产一区二区影院| 久久精品国产**网站演员| 五月天激情综合| 亚洲一二三区不卡| 亚洲福利一区二区| 亚洲综合丝袜美腿| 亚洲一区成人在线| 亚洲成人av在线电影| 一区二区久久久| 夜色激情一区二区| 亚洲尤物视频在线| 亚洲444eee在线观看| 亚洲成人动漫在线观看| 亚洲大尺度视频在线观看| 亚洲观看高清完整版在线观看| 亚洲综合色噜噜狠狠| 亚洲精品一二三区| 亚洲一区欧美一区| 亚洲bt欧美bt精品| 日韩精品视频网站| 久草中文综合在线| 国产九九视频一区二区三区| 国产伦精品一区二区三区免费迷| 国产河南妇女毛片精品久久久 | 国产一区二区三区蝌蚪| 韩国三级电影一区二区| 国产精品中文欧美| 成人性生交大片免费看在线播放 | 日韩一级成人av| 日韩欧美一区二区三区在线| 91精品国产免费| 精品国产免费一区二区三区四区| 久久亚洲一区二区三区明星换脸| 欧美国产乱子伦| 亚洲你懂的在线视频| 亚洲亚洲精品在线观看| 免费观看成人av| 国产馆精品极品| 91免费观看国产| 欧美日本在线一区| www成人在线观看| 亚洲色图第一区| 亚洲6080在线| 国产精品99久久久| 色综合激情五月| 日韩欧美综合在线| 国产精品国产三级国产普通话99| 亚洲男人都懂的| 久久精品av麻豆的观看方式| 99在线精品一区二区三区| 欧美日韩国产综合一区二区三区| 日韩免费视频一区| 国产精品剧情在线亚洲| 亚洲va国产天堂va久久en| 韩国午夜理伦三级不卡影院| 色呦呦一区二区三区| 欧美成人精品二区三区99精品| 亚洲国产精品成人久久综合一区 | 成人免费av在线| 欧美调教femdomvk| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲欧美日韩国产成人精品影院| 美女任你摸久久| gogo大胆日本视频一区| 欧美一区二区三区性视频| 欧美激情在线观看视频免费| 亚洲成人777| 国产福利一区在线观看| 欧美亚洲综合网| 亚洲国产精品成人综合色在线婷婷| 香蕉成人伊视频在线观看| 成人av手机在线观看| 日韩欧美色综合| 亚洲亚洲人成综合网络| 成人丝袜视频网| 69堂精品视频| 中文字幕在线不卡一区二区三区| 捆绑紧缚一区二区三区视频| 在线区一区二视频| 欧美国产日本韩| 国产自产高清不卡| 91精选在线观看| 亚洲高清视频在线| 91在线小视频| 国产精品毛片无遮挡高清| 麻豆高清免费国产一区| 欧洲国内综合视频| 国产精品久久一级| 国产麻豆视频精品| 精品国产凹凸成av人导航| 午夜视频在线观看一区| 99国产精品久久久久久久久久| 精品国产91洋老外米糕| 美女视频黄久久| 日韩午夜在线观看| 日日夜夜精品视频免费| 欧美丝袜丝交足nylons| 亚洲精品视频一区二区| 97精品视频在线观看自产线路二| 久久精品夜色噜噜亚洲a∨| 九九热在线视频观看这里只有精品| 欧美欧美欧美欧美首页| 亚洲国产成人精品视频| 欧美日韩在线亚洲一区蜜芽| 亚洲综合免费观看高清完整版在线| 99精品在线观看视频| 中文字幕一区二区三区在线观看| 国产99久久久久| 国产清纯在线一区二区www| 激情六月婷婷综合| 久久久综合激的五月天| 国产一区视频网站| 久久在线观看免费| 国产成人综合精品三级| 国产欧美日韩不卡免费| www.欧美色图| **性色生活片久久毛片| 色婷婷精品久久二区二区蜜臀av| 一区二区三区成人| 欧美视频一区二区三区四区| 五月激情综合婷婷| 欧美成人乱码一区二区三区| 国产一区二区免费视频| 国产精品伦一区二区三级视频| av在线一区二区| 亚洲激情自拍视频| 91精品在线观看入口| 狠狠色丁香久久婷婷综| 欧美国产1区2区| 91九色最新地址| 日韩影院免费视频| 亚洲精品一区二区三区99| 国产一区二区在线视频| 国产精品家庭影院| 欧美日韩一本到| 久久99久久99| 国产精品网站在线播放| 在线观看日韩精品| 久久99最新地址| 中文字幕一区二区三区乱码在线| 在线视频你懂得一区二区三区| 91网址在线看| 亚洲一区二区精品视频| 日韩免费在线观看| 成人aa视频在线观看| 亚洲成人免费观看| 久久人人超碰精品| 一本色道久久加勒比精品| 美女爽到高潮91| 国产精品电影院| 欧美一级淫片007| 成人毛片在线观看| 日本少妇一区二区| 欧美国产1区2区| 69久久99精品久久久久婷婷 | 日本sm残虐另类| 亚洲国产高清在线观看视频| 欧美午夜免费电影| 国产成人在线观看免费网站| 亚洲午夜羞羞片| 欧美国产欧美综合| 欧美一区二区免费视频| av中文字幕在线不卡| 五月激情六月综合| 最新日韩在线视频| 2021久久国产精品不只是精品| 色婷婷av久久久久久久| 国产一区二区免费看| 午夜影院在线观看欧美| 国产精品美女久久久久高潮| 欧美一级专区免费大片| 在线视频欧美精品| 成人亚洲精品久久久久软件| 久久国产精品无码网站| 午夜成人在线视频| 亚洲欧美一区二区三区孕妇| 久久日韩精品一区二区五区| 91精品国产一区二区三区香蕉|