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

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

?? color.cpp

?? 組態(tài)王圖庫開發(fā)包
?? CPP
字號(hào):
/////////////////////////////////////////////////////////////////////////
///////////////      cololine.cpp   /////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
//#include "resource.h"
#include "color.h"
#include "colorwnd.h"

IMPLEMENT_DYNAMIC( CColorButton,CButton )
BOOL CColorButton::Create(LPCSTR lpszCaption, DWORD dwStyle,
           		const RECT& rect, CWnd* pParentWnd, UINT nID)
{       
       ASSERT( dwStyle &  BS_OWNERDRAW );
       if (pParentWnd == NULL)
		  pParentWnd = AfxGetApp()->m_pMainWnd;

	   if (pParentWnd != NULL)
		  ASSERT_VALID(pParentWnd);
		  ASSERT(nID);
		  ASSERT(rect.bottom>=rect.top && rect.right>=rect.left); 
   	  
	   return CWnd::Create("button", lpszCaption, dwStyle, rect, pParentWnd, nID);
}
    

BOOL CColorButton::CreatePopUpWindow ( 
	                         LPCSTR lpszWindowName, 
	                         const RECT& rect,
	                         CWnd* pParentWnd )  
{     
	::CoInitialize(NULL);
	IUnknown * pIUnkn;
	IColorPalette* pIColorPalette = NULL;
	HRESULT hr = ::CoCreateInstance(CLSID_ColorPalette, NULL, CLSCTX_INPROC_SERVER  ,
									IID_IUnknown, (LPVOID *)&pIUnkn);
	if ( FAILED(hr) )
	{
		ASSERT(0);
		return FALSE;
	}
	if ( pIUnkn->QueryInterface(IID_IColorPalette, (LPVOID*)&pIColorPalette) != S_OK )
	{
		pIUnkn->Release();
		return FALSE;
	}
	pIUnkn->Release();
	ASSERT(pIColorPalette);
	COLORREF* pColor = new COLORREF;
	*pColor = m_color;
    pIColorPalette->PopupWindow((OLE_HANDLE)pParentWnd->m_hWnd,(short)rect.left,(short)rect.top,(unsigned long*)pColor);
    m_color = *pColor;
	pIColorPalette->Release();
	pIColorPalette = NULL;
	delete pColor;
	::CoUninitialize();
    return TRUE;
}        

void CColorButton::DrawFrame( LPDRAWITEMSTRUCT lpDIS )
{   
    ASSERT( lpDIS );
    CDC*  pDC = CDC::FromHandle( lpDIS->hDC );             
    CBrush  *pOldBrush;
    pOldBrush = (CBrush*) pDC->SelectStockObject( LTGRAY_BRUSH );
    
    CRect  rectT( lpDIS->rcItem.left,lpDIS->rcItem.top,lpDIS->rcItem.right,lpDIS->rcItem.bottom ); 
    int Width = rectT.Width();
    int Height = rectT.Height();
    pDC->PatBlt(rectT.left,rectT.top,Width,Height,PATCOPY );
    pDC->SelectStockObject( BLACK_BRUSH );
    pDC->PatBlt(rectT.left,rectT.top,Width,1,PATCOPY ); 
    pDC->PatBlt(rectT.right-1,rectT.top,1,Height,PATCOPY ); 
    
    pDC->PatBlt( rectT.left,rectT.top,1,Height,PATCOPY );
    pDC->PatBlt( rectT.left,rectT.bottom-1,Width,1,PATCOPY );   
    
    pDC->SelectObject( pOldBrush );     
}        

void CColorButton::DrawItem( LPDRAWITEMSTRUCT lpDIS)
{ 
  ASSERT( lpDIS );      
#ifdef _DEBUG
  CRect rect;
  rect.CopyRect( &lpDIS->rcItem ) ;
  ASSERT( rect.Width()>6 && rect.Height() >6 );
#endif  
  
  if( lpDIS->itemState & ODS_DISABLED)
    {
       ASSERT( !m_bShowPopWndFlag );
       DrawItemDisabled( lpDIS ); 
       return ;
    }          
    
  if( ! m_bShowPopWndFlag )  // NO POPUP WINDOW
  {
    if(  lpDIS->itemState & ODS_FOCUS )
       {
          DrawItemTabFocus( lpDIS ) ;  // SHOW THE FOCUS STATE BUTTON
          m_byState = FOCUSSTATE;
        }  
    else 
       {
         DrawItemUp( lpDIS );	     // SHOW THE UP STATE BUTTON
         m_byState = UPSTATE;      
       } 
  }
  else
    {
       DrawItemDown ( lpDIS );     // SHOW THE DOWN STATE BUTTON
       m_byState = DOWNSTATE;
    } 
  DrawOtherOnButton( lpDIS );  
 
} 

#ifdef _DEBUG       
    #define  GRAYTEST  1
    int  grayDebug = 0;
#endif    

#define ROP_PSDPxax   0x00B8074AL

void CColorButton::DrawItemDisabled( LPDRAWITEMSTRUCT lpDIS )
{                
  ASSERT( lpDIS );
  
  CDC *pdc = CDC::FromHandle( lpDIS->hDC );
  
  CDC memDCMono,memDC;
  memDC.CreateCompatibleDC( pdc );
  memDCMono.CreateCompatibleDC( pdc );
  
  CRect rectBtn;
  GetClientRect( rectBtn ); 
  
  int Width = rectBtn.Width();
  int Height = rectBtn.Height();
  ASSERT( Width > 6 && Height > 6 );
  
  CBitmap  bitmapT,*pOldBitmap;
  bitmapT.CreateCompatibleBitmap( pdc,Width,Height );
  pOldBitmap = memDC.SelectObject( &bitmapT );
  
  CBitmap bitmapMono,*pOldBitmapMono;
  bitmapMono.CreateBitmap( Width,Height,1,1,NULL );
  pOldBitmapMono = memDCMono.SelectObject( &bitmapMono );
  
  HDC hOldDC = lpDIS->hDC;
  lpDIS->hDC = ( HDC )memDC.GetSafeHdc(); 
  
  DrawItemUp( lpDIS );     
  
#ifdef _DEBUG
   if( grayDebug == GRAYTEST )
       pdc->BitBlt( 0,0,Width,Height,&memDC,0,0,SRCCOPY );  
        
#endif       
    
  DrawOtherOnButton( lpDIS ); 
  
#ifdef _DEBUG
   if( grayDebug == GRAYTEST )
       pdc->BitBlt( 0,0,Width,Height,&memDC,0,0,SRCCOPY );
#endif       
  
  
  //create mask     
  memDCMono.PatBlt( 0,0,Width,Height,WHITENESS );
  
  memDC.SetBkColor( ::GetSysColor( COLOR_BTNFACE ) );   
  memDCMono.BitBlt( 3,3,Width - 6,Height - 6,&memDC,3,3,SRCCOPY );  
  
  memDC.SetBkColor( ::GetSysColor( COLOR_BTNHIGHLIGHT ) );
  memDCMono.BitBlt( 3,3,Width - 6,Height - 6,&memDC,3,3,SRCPAINT );        
//memDCMono.BitBlt( 4,4,Width - 7,Height - 7,&memDCMono,3,3,SRCAND );  

  memDC.SetTextColor( 0L);                  // 0's in mono -> 0 (for ROP)
  memDC.SetBkColor((COLORREF)0x00FFFFFFL); // 1's in mono -> 1
  CBrush *pOldBrush =(CBrush*) memDC.SelectStockObject( WHITE_BRUSH );    
  memDC.BitBlt( 1,1,Width - 1 ,Height - 1,&memDCMono,0,0, ROP_PSDPxax );
  
  memDC.SelectStockObject( GRAY_BRUSH );
  memDC.BitBlt( 0,0,Width,Height,&memDCMono,0,0,ROP_PSDPxax );
  
  pdc->BitBlt( 0,0,Width,Height,&memDC,0,0,SRCCOPY );
  
  memDC.SelectObject( pOldBrush );
  memDCMono.SelectObject( pOldBitmapMono );   
  memDC.SelectObject( pOldBitmap ); 
  
}  
  
  
void CColorButton::DrawItemUp(  LPDRAWITEMSTRUCT lpDIS )
{  
  ASSERT( lpDIS );
  DrawFrame( lpDIS );
  
  CDC*  pDC = CDC::FromHandle( lpDIS->hDC );             
  CBrush  *pOldBrush;
  CRect  rectT( lpDIS->rcItem.left,lpDIS->rcItem.top,lpDIS->rcItem.right,lpDIS->rcItem.bottom );   
     
  pOldBrush = ( CBrush*)pDC->SelectStockObject( WHITE_BRUSH ); 
  rectT.InflateRect( -1,-1 ); 
  int Width = rectT.Width();
  int Height = rectT.Height();
    
  pDC->PatBlt(rectT.left,rectT.top,Width,2,PATCOPY );
  pDC->PatBlt(rectT.left,rectT.top,2,Height,PATCOPY );
    
  pDC->SelectStockObject( GRAY_BRUSH );                       
  pDC->PatBlt(rectT.right-2,rectT.top+2,2,Height-2,PATCOPY );  
  pDC->PatBlt( rectT.left+2,rectT.bottom-2,Width-2,2,PATCOPY );
          
  pDC->SelectObject( pOldBrush );
}  

void CColorButton::DrawItemDown(  LPDRAWITEMSTRUCT lpDIS )
{
   ASSERT( lpDIS );
  DrawFrame( lpDIS );
  
  CDC*  pDC = CDC::FromHandle( lpDIS->hDC );             
  CBrush  *pOldBrush; 
  CRect  rectT( lpDIS->rcItem.left,lpDIS->rcItem.top,lpDIS->rcItem.right,lpDIS->rcItem.bottom );  
  
  pOldBrush = (CBrush*)pDC->SelectStockObject( GRAY_BRUSH ); 
  rectT.InflateRect( -1,-1 ); 
    
  pDC->PatBlt(rectT.left,rectT.top,2,rectT.Height(),PATCOPY );
  pDC->PatBlt(rectT.left,rectT.top,rectT.Width(),2,PATCOPY );
    
  pDC->SelectObject( pOldBrush );
}

void CColorButton::DrawItemTabFocus( LPDRAWITEMSTRUCT lpDIS )
{   
    ASSERT( lpDIS);
    
    CDC*  pDC = CDC::FromHandle( lpDIS->hDC );             
    CBrush  *pOldBrush;
    pOldBrush = (CBrush*) pDC->SelectStockObject( LTGRAY_BRUSH );
    CRect  rectT( lpDIS->rcItem.left,lpDIS->rcItem.top,lpDIS->rcItem.right,lpDIS->rcItem.bottom );   
    int Width = rectT.Width();
    int Height = rectT.Height();
    pDC->PatBlt(rectT.left,rectT.top,Width,Height,PATCOPY );
    pDC->SelectStockObject( BLACK_BRUSH );
    pDC->PatBlt(rectT.left,rectT.top,Width,2,PATCOPY ); 
    pDC->PatBlt(rectT.right-2,rectT.top,2,Height,PATCOPY ); 
    
    pDC->PatBlt( rectT.left,rectT.top,2,Height,PATCOPY );
    pDC->PatBlt( rectT.left,rectT.bottom-2,Width,2,PATCOPY );      
    
    pDC->SelectStockObject( WHITE_BRUSH ); 
    rectT.InflateRect( -2,-2 ); 
    Width = rectT.Width();
    Height = rectT.Height();
    
    pDC->PatBlt(rectT.left,rectT.top,Width,2,PATCOPY );
    pDC->PatBlt(rectT.left,rectT.top,2,Height,PATCOPY );
    
    pDC->SelectStockObject( GRAY_BRUSH );                       
    pDC->PatBlt(rectT.right-2,rectT.top,2,Height,PATCOPY );  
    pDC->PatBlt( rectT.left,rectT.bottom-2,Width,2,PATCOPY );
          
    pDC->SelectObject( pOldBrush );
}    
    
void CColorButton::OnLButtonDown( UINT nFlags, CPoint point )
{ 
	OnDown();
}    
    
  
void CColorButton::OnMouseMove(UINT nFlags,CPoint point)
{  
}

void CColorButton::OnDown( void )
{
    CRect rectWnd,rectPop;
    GetWindowRect(rectWnd);

    rectPop.left = rectWnd.left;
	rectPop.top = rectWnd.bottom -2;

    if( rectPop.left + WINDOW_WIDTH > GetSystemMetrics( SM_CXSCREEN ) )
    {
       rectPop.left = rectWnd.left - WINDOW_WIDTH;
    } 
    if( rectPop.top + WINDOW_NORMALHEIGHT > GetSystemMetrics( SM_CYSCREEN ) )
    {
      rectPop.top = rectWnd.top - ( WINDOW_NORMALHEIGHT );
    }
    if( rectPop.left < 0 )
	{
		rectPop.left = rectWnd.right;
	}
    m_bShowPopWndFlag =  TRUE ;    
    if( this != GetFocus() ) SetFocus( );  
    else 
      { 
          
           DRAWITEMSTRUCT  ds;
           ds.CtlType = ODT_BUTTON;
           ds.hwndItem = GetSafeHwnd();
           ds.hDC = ::GetDC( m_hWnd );
           GetClientRect( &ds.rcItem ); 
           ds.itemAction = ODA_DRAWENTIRE;
           ds.itemState = ODS_SELECTED;
           ds.CtlID = GetDlgCtrlID();       
  
           GetParent()->SendMessage( WM_DRAWITEM, ds.CtlID,(LPARAM)(LPDRAWITEMSTRUCT)&ds );
           ::ReleaseDC( m_hWnd,ds.hDC );      
      }

    ScreenToClient( &rectPop );
    CreatePopUpWindow( NULL,rectPop,this );
	Invalidate();
    m_bShowPopWndFlag = FALSE ; 

    DRAWITEMSTRUCT  ds;
    ds.CtlType = ODT_BUTTON;
    ds.hwndItem = GetSafeHwnd();
    ds.hDC = ::GetDC( m_hWnd );
    GetClientRect( &ds.rcItem ); 
    ds.itemAction = ODA_FOCUS;
    ds.itemState = ODS_FOCUS;
    ds.CtlID = GetDlgCtrlID();       
  
    GetParent()->SendMessage( WM_DRAWITEM, ds.CtlID,(LPARAM)(LPDRAWITEMSTRUCT)&ds );
    ::ReleaseDC( m_hWnd,ds.hDC );      

}

void CColorButton::OnUp()
{
} 
 
void CColorButton::OnLButtonUp( UINT nFlage, CPoint point )
{
}
  

void CColorButton::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)  
{ 
   
}     
void CColorButton::DrawOtherOnButton( LPDRAWITEMSTRUCT lpDIS)
{  
	ASSERT( lpDIS ); 
    DrawRectOnButton( lpDIS->hDC );
} 
void CColorButton::DrawRectOnButton( HDC hDC )
{
   HBRUSH hBrush,hOldBrush;
   RECT m_ButtonRect ;
   ::GetClientRect( m_hWnd ,&m_ButtonRect );
   ASSERT( m_ButtonRect.right - m_ButtonRect.left > 14 
          && m_ButtonRect.bottom - m_ButtonRect.top > 14 );
   
   hBrush=::CreateSolidBrush(m_color);
   hOldBrush=(HBRUSH)::SelectObject(hDC,hBrush);    
   
   if( m_byState != DOWNSTATE )
     ::Rectangle(hDC,m_ButtonRect.left+7,m_ButtonRect.top+7,m_ButtonRect.right-7,m_ButtonRect.bottom-7);
   else 
     ::Rectangle(hDC,m_ButtonRect.left+8,m_ButtonRect.top+8,m_ButtonRect.right-6,m_ButtonRect.bottom-6); 
     
   ::SelectObject( hDC,hOldBrush);
   ::DeleteObject(hBrush);
}    
    
        

     
BEGIN_MESSAGE_MAP(CColorButton,CButton)    // ENABLE MESSAGE MAP
    ON_WM_LBUTTONDOWN()
    ON_WM_LBUTTONUP()
END_MESSAGE_MAP()


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产a级毛片一区| 亚洲一区二区三区美女| 白白色亚洲国产精品| 亚洲一区av在线| 国产视频不卡一区| 91精品国产欧美日韩| 91啪亚洲精品| 国产一区欧美一区| 午夜电影网亚洲视频| 国产精品久久久久影院亚瑟| 91精品国产91久久综合桃花| 91麻豆国产福利精品| 国产乱码精品一区二区三| 婷婷六月综合网| 亚洲综合在线视频| 综合电影一区二区三区 | 国产人伦精品一区二区| 9191成人精品久久| 91福利在线导航| 99精品国产视频| 成人激情开心网| 国产在线精品一区在线观看麻豆| 亚洲国产三级在线| 亚洲制服丝袜在线| 亚洲激情图片小说视频| 国产精品成人免费| 国产精品网站在线| 中文字幕免费一区| 久久午夜色播影院免费高清| 日韩欧美亚洲国产另类| 91精品国产aⅴ一区二区| 欧美三级电影精品| 欧美日韩午夜在线视频| 日本韩国欧美三级| 在线欧美日韩精品| 91久久精品一区二区二区| 97精品国产露脸对白| a在线欧美一区| va亚洲va日韩不卡在线观看| 成人午夜激情视频| 成人av免费网站| 不卡的av在线| 99视频热这里只有精品免费| 成人ar影院免费观看视频| 成人黄色777网| 91视频在线看| 91黄视频在线| 欧美日本一区二区| 日韩一级免费一区| 久久综合色一综合色88| 久久久久亚洲综合| 中文字幕av资源一区| 中文字幕中文乱码欧美一区二区| 亚洲欧美在线另类| 亚洲国产美女搞黄色| 五月天国产精品| 蜜桃精品视频在线观看| 国模冰冰炮一区二区| 粉嫩欧美一区二区三区高清影视| 成人小视频在线观看| 91婷婷韩国欧美一区二区| 欧美性大战久久久| 欧美一级黄色录像| 国产亚洲美州欧州综合国| 国产精品无圣光一区二区| 亚洲精品va在线观看| 香蕉乱码成人久久天堂爱免费| 奇米精品一区二区三区四区| 国产精品影视天天线| 91免费版在线看| 欧美妇女性影城| 久久九九久久九九| 亚洲美女屁股眼交| 久久电影网站中文字幕| 岛国av在线一区| 91九色最新地址| 日韩欧美电影一区| 亚洲三级在线看| 奇米综合一区二区三区精品视频| 国产精品夜夜嗨| 欧美日韩另类一区| 国产日产欧美一区二区视频| 亚洲精品国产精品乱码不99 | 欧美aaaaa成人免费观看视频| 国产一区二区三区免费观看| 99vv1com这只有精品| 欧美老年两性高潮| 国产精品久久久久婷婷二区次| 性久久久久久久久| 国产乱码精品一品二品| 天天色综合天天| 国产一区美女在线| 91国偷自产一区二区三区成为亚洲经典| 欧美精品三级日韩久久| 国产精品电影一区二区三区| 日韩不卡一二三区| 91丨porny丨中文| 久久精品视频一区| 婷婷久久综合九色综合绿巨人 | 国产日韩欧美在线一区| 亚洲aaa精品| 成人三级伦理片| 日韩久久久精品| 一级中文字幕一区二区| 盗摄精品av一区二区三区| 日韩一区二区精品在线观看| 亚洲精品国产成人久久av盗摄| 国产一区二区电影| 3d动漫精品啪啪一区二区竹菊| 一区在线播放视频| 国产精品一二三在| 欧美xingq一区二区| 亚洲第一福利视频在线| 国产精品99久久久久久似苏梦涵 | 中文字幕中文字幕一区| 国产在线不卡一区| 日韩一区二区在线播放| 亚洲国产精品人人做人人爽| 国产91丝袜在线播放| 精品国产麻豆免费人成网站| 五月婷婷久久丁香| 欧美视频自拍偷拍| 日韩av电影天堂| 欧美嫩在线观看| 亚洲一区二区三区四区不卡| 99精品视频一区| 亚洲欧洲av另类| 99久久99久久精品免费观看 | 午夜精品aaa| 欧美日韩一区小说| 亚洲国产精品嫩草影院| 色综合天天综合在线视频| 国产精品第五页| av一区二区三区| 亚洲品质自拍视频| 一本色道久久综合精品竹菊| 亚洲男人的天堂网| 91久久奴性调教| 亚洲国产精品一区二区久久恐怖片| 97aⅴ精品视频一二三区| 日韩理论片一区二区| 99在线热播精品免费| 丰满少妇久久久久久久| 欧美精品一区二区不卡| 精品一区二区三区欧美| 日韩一区二区三区观看| 麻豆91在线观看| 2021中文字幕一区亚洲| 国产精品99久久久久久久vr| 中文字幕va一区二区三区| www.日韩在线| 一区二区三区四区高清精品免费观看 | 国产一二精品视频| 国产欧美日韩综合精品一区二区| 国产精品一品视频| 国产精品护士白丝一区av| 99久久精品国产麻豆演员表| 亚洲精品中文在线影院| 欧美另类z0zxhd电影| 精品在线播放午夜| 国产精品入口麻豆原神| 91热门视频在线观看| 天天色图综合网| 欧美成人在线直播| 成人一区在线观看| 一区二区三区高清| 日韩女优av电影| 国产成人一级电影| 亚洲激情在线激情| 欧美精品久久天天躁| 狠狠久久亚洲欧美| 亚洲天堂2014| 欧美精品亚洲二区| 国产成人精品一区二| 亚洲综合久久久| 欧美精品一区二区三| 一本色道综合亚洲| 男男gaygay亚洲| 国产精品初高中害羞小美女文| 欧美午夜精品一区| 国产精品系列在线观看| 亚洲高清不卡在线| 国产欧美一区二区精品仙草咪| 91日韩精品一区| 国产在线播放一区| 亚洲国产精品人人做人人爽| 久久无码av三级| 欧美在线观看视频在线| 黑人精品欧美一区二区蜜桃| 亚洲欧美日韩久久| 久久这里只有精品首页| 欧美午夜一区二区三区免费大片| 久久草av在线| 亚洲一级片在线观看| 欧美国产精品一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产精品中文字幕日韩精品| 亚瑟在线精品视频| 成人免费视频在线观看| 久久人人爽人人爽|