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

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

?? buttonstyle.cpp

?? 魔法單詞學(xué)習(xí)小軟件
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// ButtonStyle.cpp : implementation file
//

#include "stdafx.h"
#include "MagicWord.h"
#include "ButtonStyle.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CButtonStyle

CButtonStyle::CButtonStyle()
{
   m_MouseOnButton = FALSE;
   m_hIconIn = NULL;
   m_hIconOut = NULL;
   m_cxIcon = 0;
   m_cyIcon = 0;
   m_hCursor = 0;
   
   m_bIsFlat = TRUE;             // Default type is "flat" button
   m_bDrawBorder = TRUE;         // Draw border in "flat" button
   m_nAlign = ST_ALIGN_HORIZ;    // Icon is aligned horizontally
   m_bShowText = TRUE;           // Show the text button
   m_bDrawFlatFocus = FALSE;     // For "flat" button don't draw the focus rect

   SetDefInactiveBgColor();
   SetDefInactiveFgColor();
   SetDefActiveBgColor();
   SetDefActiveFgColor();
}

CButtonStyle::~CButtonStyle()
{
   // Destroy the icons (if any)
   if ( m_hIconIn  != NULL )   ::DeleteObject( m_hIconIn );
   if ( m_hIconOut != NULL )   ::DeleteObject( m_hIconOut );

   // Destroy the cursor (if any)
   if ( m_hCursor != NULL )    ::DestroyCursor( m_hCursor );
}


BEGIN_MESSAGE_MAP(CButtonStyle, CButton)
	//{{AFX_MSG_MAP(CButtonStyle)
	ON_WM_CAPTURECHANGED()
	ON_WM_KILLFOCUS()
	ON_WM_MOUSEMOVE()
	ON_WM_SETCURSOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CButtonStyle message handlers

void CButtonStyle::DrawItem(LPDRAWITEMSTRUCT lpDIS) 
{
#ifdef ST_USE_MEMDC
   CDC    *pdrawDC = CDC::FromHandle( lpDIS->hDC );
   CMemDC memDC( pdrawDC );
   CDC    *pDC = &memDC;
#else	
   CDC*    pDC = CDC::FromHandle( lpDIS->hDC );
#endif
   
   CPen *pOldPen;
   BOOL bIsPressed  = ( lpDIS->itemState & ODS_SELECTED );
   BOOL bIsFocused  = ( lpDIS->itemState & ODS_FOCUS );
   BOOL bIsDisabled = ( lpDIS->itemState & ODS_DISABLED );
   
   CRect itemRect = lpDIS->rcItem;
   
   if ( m_bIsFlat == FALSE )
   {
      if ( bIsFocused )
      {
         CBrush br( RGB( 0, 0, 0 ) );  
         pDC->FrameRect( &itemRect, &br );
         itemRect.DeflateRect( 1, 1 );
      }
   }
   
   // Prepare draw... paint button's area with background color
   COLORREF bgColor;
   
   if ( ( m_MouseOnButton == TRUE ) || ( bIsPressed ) )
      bgColor = GetActiveBgColor();
   else
      bgColor = GetInactiveBgColor();
   
   CBrush br( bgColor );
   pDC->FillRect( &itemRect, &br );
   
   // Disegno lo sfondo del bottone draw pressed button
   if ( bIsPressed )
   {
      if ( m_bIsFlat == TRUE )
      {
         if ( m_bDrawBorder == TRUE )
         {
            CPen penBtnHiLight( PS_SOLID, 0, GetSysColor( COLOR_BTNHILIGHT ) ); // Bianco
            CPen penBtnShadow(  PS_SOLID, 0, GetSysColor( COLOR_BTNSHADOW ) );  // Grigio scuro
            
            // Disegno i bordi a sinistra e in alto
            // Dark gray line
            pOldPen = pDC->SelectObject( &penBtnShadow );
            pDC->MoveTo( itemRect.left, itemRect.bottom-1 );
            pDC->LineTo( itemRect.left, itemRect.top );
            pDC->LineTo( itemRect.right, itemRect.top );
            
            // Disegno i bordi a destra e in basso
            // White line
            pDC->SelectObject( penBtnHiLight );
            pDC->MoveTo( itemRect.left, itemRect.bottom-1 );
            pDC->LineTo( itemRect.right-1, itemRect.bottom-1 );
            pDC->LineTo( itemRect.right-1, itemRect.top-1 );
            
            pDC->SelectObject( pOldPen );
         }
      }
      else    
      {
         CBrush brBtnShadow( GetSysColor( COLOR_BTNSHADOW ) );
         pDC->FrameRect( &itemRect, &brBtnShadow );
      }
   }
   else  // ...else draw non pressed button
   {
      CPen penBtnHiLight( PS_SOLID, 0, GetSysColor( COLOR_BTNHILIGHT ) );  // White
      CPen pen3DLight(    PS_SOLID, 0, GetSysColor( COLOR_3DLIGHT ) );     // Light gray
      CPen penBtnShadow(  PS_SOLID, 0, GetSysColor( COLOR_BTNSHADOW ) );   // Dark gray
      CPen pen3DDKShadow( PS_SOLID, 0, GetSysColor( COLOR_3DDKSHADOW ) );  // Black
      
      if ( m_bIsFlat == TRUE )
      {
         if (m_MouseOnButton == TRUE && m_bDrawBorder == TRUE)
         {
            // Disegno i bordi a sinistra e in alto
            // White line
            pOldPen = pDC->SelectObject( &penBtnHiLight );
            pDC->MoveTo( itemRect.left, itemRect.bottom - 1 );
            pDC->LineTo( itemRect.left, itemRect.top );
            pDC->LineTo( itemRect.right, itemRect.top );
            
            // Disegno i bordi a destra e in basso
            // Dark gray line
            pDC->SelectObject( penBtnShadow );
            pDC->MoveTo( itemRect.left, itemRect.bottom - 1 );
            pDC->LineTo( itemRect.right - 1, itemRect.bottom - 1 );
            pDC->LineTo( itemRect.right - 1, itemRect.top - 1 );
            
            pDC->SelectObject( pOldPen );
         }
      }
      else
      {
         // Disegno i bordi a sinistra e in alto
         // White line         
         pOldPen = pDC->SelectObject( &penBtnHiLight );
         pDC->MoveTo( itemRect.left, itemRect.bottom - 1 );
         pDC->LineTo( itemRect.left, itemRect.top );
         pDC->LineTo( itemRect.right, itemRect.top );
         
         // Light gray line
         pDC->SelectObject(pen3DLight);
         pDC->MoveTo( itemRect.left + 1, itemRect.bottom - 1 );
         pDC->LineTo( itemRect.left + 1, itemRect.top + 1 );
         pDC->LineTo( itemRect.right, itemRect.top + 1 );
         
         // Disegno i bordi a destra e in basso
         // Black line
         pDC->SelectObject( pen3DDKShadow );
         pDC->MoveTo( itemRect.left, itemRect.bottom -1 );
         pDC->LineTo( itemRect.right - 1, itemRect.bottom - 1 );
         pDC->LineTo( itemRect.right - 1, itemRect.top - 1 );
         
         // Dark gray line
         pDC->SelectObject( penBtnShadow);
         pDC->MoveTo( itemRect.left + 1, itemRect.bottom - 2 );
         pDC->LineTo( itemRect.right - 2, itemRect.bottom - 2 );
         pDC->LineTo( itemRect.right - 2, itemRect.top);
         
         pDC->SelectObject( pOldPen );
      }
   }
   
   // Read the button title
   CString sTitle;
   GetWindowText( sTitle );
   
   // If we don't want the title displayed
   if ( m_bShowText == FALSE )
      sTitle.Empty();
   
   CRect captionRect = lpDIS->rcItem;
   
   // Draw the icon
   if ( m_hIconIn != NULL )
   {
      DrawTheIcon( pDC, &sTitle, &lpDIS->rcItem, &captionRect, bIsPressed, bIsDisabled );
   }
   
   // Write the button title (if any)
   if ( sTitle.IsEmpty() == FALSE )
   {
      // Disegno la caption del bottone
      // Se il bottone e' premuto muovo la captionRect di conseguenza
      if ( bIsPressed )
         captionRect.OffsetRect( 1, 1 );
      
      // ONLY FOR DEBUG
      // Evidenzia il rettangolo in cui verra' centrata la caption 
    
#ifdef ST_USE_MEMDC
      // Get dialog's font
      CFont *pCurrentFont = GetFont(); 
      CFont *pOldFont = pDC->SelectObject( pCurrentFont );
#endif
      if ( ( m_MouseOnButton == TRUE) || ( bIsPressed ) ) 
      {
         pDC->SetTextColor( GetActiveFgColor() );
         pDC->SetBkColor( GetActiveBgColor() );
      }
      else
      {
         pDC->SetTextColor( GetInactiveFgColor() );
         pDC->SetBkColor( GetInactiveBgColor() );
      }
      
      // Center text
      CRect centerRect = captionRect;
      pDC->DrawText( sTitle, -1, captionRect, DT_SINGLELINE|DT_CALCRECT );
      captionRect.OffsetRect( ( centerRect.Width()  - captionRect.Width() ) / 2,
                              ( centerRect.Height() - captionRect.Height() ) / 2 );
      
      pDC->DrawState( captionRect.TopLeft(), captionRect.Size(), (LPCTSTR) sTitle,
                      ( bIsDisabled ? DSS_DISABLED : DSS_NORMAL ), TRUE, 0, (CBrush*) NULL );

#ifdef ST_USE_MEMDC
      pDC->SelectObject( pOldFont );
#endif
   }
   
   if (m_bIsFlat == FALSE || (m_bIsFlat == TRUE && m_bDrawFlatFocus == TRUE))
   {
      // Draw the focus rect
      if ( bIsFocused )
      {
         CRect focusRect = itemRect;
         focusRect.DeflateRect( 3, 3 );
         pDC->DrawFocusRect( &focusRect );
      }
   }
}

void CButtonStyle::PreSubclassWindow() 
{
   // Add BS_OWNERDRAW style
   SetButtonStyle( GetButtonStyle() | BS_OWNERDRAW );
	
	CButton::PreSubclassWindow();
}

void CButtonStyle::OnCaptureChanged(CWnd *pWnd) 
{
   if ( m_MouseOnButton == TRUE )
   {
      ReleaseCapture();
      Invalidate();
   }
	
	CButton::OnCaptureChanged(pWnd);
}

void CButtonStyle::OnKillFocus(CWnd* pNewWnd) 
{
	CButton::OnKillFocus(pNewWnd);

   // If our button is not flat then do nothing
   if ( m_bIsFlat == FALSE )
      return;

   if ( m_MouseOnButton = FALSE )
   {
      m_MouseOnButton = FALSE;
      Invalidate();
   }
}

void CButtonStyle::OnMouseMove(UINT nFlags, CPoint point) 
{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频999| 欧美刺激午夜性久久久久久久| 亚洲国产另类av| 精品国产区一区| 色激情天天射综合网| 麻豆精品新av中文字幕| 国产精品久久久久久亚洲毛片| 不卡一区二区在线| 蜜桃传媒麻豆第一区在线观看| 欧美国产综合一区二区| 欧美高清你懂得| a美女胸又www黄视频久久| 蜜桃视频在线观看一区二区| 136国产福利精品导航| 欧美性受xxxx黑人xyx| 成人在线视频一区| 久久国产成人午夜av影院| 一区在线中文字幕| 国产无人区一区二区三区| 欧美一卡在线观看| 欧美精品第一页| 欧美精选一区二区| 欧美日本国产视频| 欧美性生活久久| 欧美亚洲一区二区三区四区| 99re亚洲国产精品| 99久久婷婷国产综合精品| 成人激情黄色小说| 国产91丝袜在线观看| 国内成+人亚洲+欧美+综合在线 | 一区二区不卡在线视频 午夜欧美不卡在| 久久久久国产精品人| 日韩欧美资源站| 91精品黄色片免费大全| 欧美人伦禁忌dvd放荡欲情| 日本韩国精品在线| 欧美在线一二三| 欧美日韩亚洲综合一区二区三区 | 精品视频色一区| 在线观看亚洲成人| 在线中文字幕不卡| 欧美影院一区二区| 欧美日韩精品三区| 欧美麻豆精品久久久久久| 欧美日韩mp4| 日韩免费一区二区| 久久只精品国产| 中文字幕乱码日本亚洲一区二区| 中文字幕欧美三区| 亚洲欧洲综合另类在线| 亚洲精品成人悠悠色影视| 一区二区三区欧美亚洲| 亚洲制服欧美中文字幕中文字幕| 亚洲福利一二三区| 免费xxxx性欧美18vr| 久久精品国产亚洲一区二区三区| 国产精品一级在线| www.久久久久久久久| 在线亚洲一区观看| 日韩欧美激情在线| 中文一区在线播放| 一区二区三区日韩欧美精品| 午夜国产精品影院在线观看| 蜜臀久久99精品久久久久久9| 韩日av一区二区| 成人av电影免费在线播放| 91国模大尺度私拍在线视频| 欧美精品一二三区| 欧美激情综合网| 一区二区视频在线看| 日韩黄色在线观看| 在线观看亚洲精品| 麻豆成人综合网| 秋霞av亚洲一区二区三| 国产一区二区三区综合| 91美女在线视频| 欧美韩国一区二区| 欧美少妇xxx| 91啦中文在线观看| 91精品国产综合久久久蜜臀粉嫩| 精品久久久久久久人人人人传媒 | 国产91精品一区二区麻豆亚洲| 91视频免费观看| 日韩欧美成人一区| 亚洲视频电影在线| 久久精品国产亚洲aⅴ| 99在线热播精品免费| 欧美一区二区三区精品| 国产精品短视频| 日韩avvvv在线播放| 99久久伊人久久99| 欧美成人女星排名| 亚洲一区二区三区四区中文字幕| 国产一区二区日韩精品| 欧美性高清videossexo| 欧美国产1区2区| 麻豆精品久久久| 在线观看不卡一区| 欧美国产在线观看| 久久99国产精品尤物| 欧美在线免费观看视频| 国产精品麻豆视频| 国产尤物一区二区| 日韩一区二区三区四区| 一区二区三国产精华液| 国产成人av一区二区三区在线观看| 欧美日韩中文字幕一区二区| 国产精品狼人久久影院观看方式| 麻豆精品蜜桃视频网站| 欧美伦理电影网| 夜夜爽夜夜爽精品视频| 99国内精品久久| 国产精品日日摸夜夜摸av| 久久99国产精品免费| 制服丝袜日韩国产| 午夜亚洲国产au精品一区二区| 99精品视频中文字幕| 国产精品欧美久久久久一区二区| 精品亚洲成a人| 精品国产区一区| 精品一区二区三区视频| 日韩一区二区在线看| 日韩av电影免费观看高清完整版在线观看| 在线免费观看视频一区| 亚洲精品一卡二卡| 91同城在线观看| 亚洲欧美日韩中文播放| 91丨porny丨户外露出| 日韩毛片精品高清免费| 99久久免费精品高清特色大片| 国产精品美女久久久久久久久久久| 国产一区二区三区日韩| 久久久久99精品一区| 国产伦精一区二区三区| 久久久99精品免费观看| 国产成人免费网站| 欧美国产精品v| 99国产精品久久久| 亚洲精品一卡二卡| 欧美少妇性性性| 日本91福利区| 欧美xfplay| 国产麻豆精品在线| 国产精品福利一区二区三区| 成人理论电影网| 亚洲黄色av一区| 欧美日韩中文字幕一区| 麻豆精品在线播放| 久久久一区二区三区| 大美女一区二区三区| 亚洲精品少妇30p| 欧美日韩激情一区二区| 日本特黄久久久高潮| 日韩精品资源二区在线| 国产成人自拍高清视频在线免费播放| 国产农村妇女毛片精品久久麻豆| 97久久超碰精品国产| 亚洲国产aⅴ成人精品无吗| 在线成人av影院| 精品一区二区三区免费| 中文字幕va一区二区三区| 一本色道综合亚洲| 日韩高清在线不卡| 久久精品欧美一区二区三区麻豆| 99精品久久久久久| 五月婷婷色综合| 久久久综合网站| 在线亚洲+欧美+日本专区| 日本欧美肥老太交大片| 中文在线一区二区| 欧美日韩一区二区在线观看视频| 久久精品国产**网站演员| 国产精品天天看| 91精品国产综合久久久久久久久久| 国产乱淫av一区二区三区| 综合久久久久久久| 欧美一区二区三区免费视频| 高清不卡一区二区在线| 亚洲va欧美va人人爽| 国产亚洲欧美中文| 欧美日韩精品一区二区| 成人免费av在线| 男男视频亚洲欧美| 自拍偷拍欧美精品| 日韩午夜电影av| 一本色道亚洲精品aⅴ| 国产一区二区在线观看视频| 亚洲免费观看高清完整版在线观看| 欧美一区二区三区在线电影| av电影在线观看一区| 毛片av一区二区| 一区二区在线观看视频| 久久久久高清精品| 717成人午夜免费福利电影| 91视频一区二区三区| 国产九色sp调教91| 日本不卡免费在线视频| 亚洲黄色免费网站| 国产精品福利在线播放| 久久中文字幕电影|