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

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

?? atlctrlxp2.h

?? 一款最完整的工業組態軟源代碼
?? H
字號:
#ifndef __ATLCTRLXP2_H__
#define __ATLCTRLXP2_H__

/////////////////////////////////////////////////////////////////////////////
// Various VisualStudio.NET wanna-be controls
//
// Contains:
//   CMultiPaneStatusBarXPCtrl
//   CToolBarXPCtrl
//   CComboBoxXPCtrl
//
// Written by Bjarke Viksoe (bjarke@viksoe.dk)
// Copyright (c) 2002 Bjarke Viksoe.
//
// This code may be used in compiled form in any way you desire. This
// file may be redistributed by any means PROVIDING it is 
// not sold for profit without the authors written consent, and 
// providing that this notice and the authors name is included. 
//
// This file is provided "as is" with no expressed or implied warranty.
// The author accepts no liability if it causes any damage to you or your
// computer whatsoever. It's free, so don't hassle me about it.
//
// Beware of bugs.
//

#pragma once

#ifndef __cplusplus
   #error WTL requires C++ compilation (use a .cpp suffix)
#endif

#ifndef __ATLCTRLW_H__
   #error atlctrlxp2.h requires atlctrlw.h to be included first
#endif

#ifndef __ATLCTRLXP_H__
   #error atlctrlxp2.h requires atlctrlxp.h to be included first
#endif

#if (_WTL_VER < 0x0700)
   #error This file requires WTL version 7.0 or higher
#endif


/////////////////////////////////////////////////////////////////////////////
// CMultiPaneStatusBarXPCtrl - The Status Bar

#ifdef __ATLCTRLX_H__

class CMultiPaneStatusBarXPCtrl : public CMultiPaneStatusBarCtrlImpl<CMultiPaneStatusBarXPCtrl>
{
public:
   DECLARE_WND_SUPERCLASS(_T("WTL_MultiPaneStatusBarXP"), GetWndClassName())

   BEGIN_MSG_MAP(CPaneContainerImpl)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      CHAIN_MSG_MAP( CMultiPaneStatusBarCtrlImpl<CMultiPaneStatusBarXPCtrl> )
   END_MSG_MAP()

   LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
   {
      LRESULT lRes = DefWindowProc();

      if( IsSimple() ) return lRes;

      CClientDC dc(m_hWnd);
      CPen pen;
      pen.CreatePen(PS_SOLID, 1, ::GetSysColor(COLOR_3DSHADOW));
      HPEN hOldPen = dc.SelectPen(pen);
      HBRUSH hOldBrush = dc.SelectStockBrush(NULL_BRUSH);
      int nCount = (int) GetParts(0, NULL);
      for( int i = 0; i < nCount; i++ ) {
         RECT rcItem;
         GetRect(i, &rcItem);
         dc.Rectangle(&rcItem); 
      }
      dc.SelectBrush(hOldBrush);
      dc.SelectPen(hOldPen);

      return lRes;
   }
};

#endif // __ATLCTRLX_H__


/////////////////////////////////////////////////////////////////////////////
// CToolBarXPCtrl - The ToolBar control

class CToolBarXPCtrl : 
   public CWindowImpl<CToolBarXPCtrl, CToolBarCtrl>,
   public CCustomDraw<CToolBarXPCtrl>
{
public:
   DECLARE_WND_SUPERCLASS(_T("WTL_ToolBarXP"), GetWndClassName())

   BEGIN_MSG_MAP(CToolBarXPCtrl)
      CHAIN_MSG_MAP_ALT(CCustomDraw<CToolBarXPCtrl>, 1)
      DEFAULT_REFLECTION_HANDLER()
   END_MSG_MAP()

   DWORD OnPrePaint(int /*idCtrl*/, LPNMCUSTOMDRAW lpNMCustomDraw)
   {
      CDCHandle dc(lpNMCustomDraw->hdc);
      dc.FillSolidRect(&lpNMCustomDraw->rc, CCommandBarXPCtrl::m_xpstyle.clrMenu);
      return CDRF_NOTIFYITEMDRAW;   // We need per-item notifications
   }
   DWORD OnItemPrePaint(int /*idCtrl*/, LPNMCUSTOMDRAW lpNMCustomDraw)
   {
      CDCHandle dc(lpNMCustomDraw->hdc);
      HFONT hOldFont = dc.SelectFont(GetFont());
      CCommandBarXPCtrl::_DrawToolbarButton( (LPNMTBCUSTOMDRAW) lpNMCustomDraw );
      dc.SelectFont(hOldFont);
      return CDRF_SKIPDEFAULT;
   }
};


/////////////////////////////////////////////////////////////////////////////
// CComboBoxXPCtrl - The ComboBox control

#ifdef __ATLGDIX_H__

template< class T, class TBase = CComboBox, class TWinTraits = CControlWinTraits >
class ATL_NO_VTABLE CComboBoxXPImpl : 
   public CWindowImpl< T, TBase, TWinTraits >,
   public CMouseHover< T >
{
public:
   DECLARE_WND_SUPERCLASS(NULL, TBase::GetWndClassName())

   CContainedWindowT<CEdit> m_ctrlEdit;
   bool m_fMouseOverEdit;
   COLORREF m_clrHighlight;
   COLORREF m_clrHighlightDark;
   COLORREF m_clrBorder;

   CComboBoxXPImpl() : 
      m_ctrlEdit(this, 1), 
      m_fMouseOverEdit(false)
   {
   }

   // Operations

   BOOL SubclassWindow(HWND hWnd)
   {
      ATLASSERT(m_hWnd==NULL);
      ATLASSERT(::IsWindow(hWnd));
#ifdef _DEBUG
      // Check class
      TCHAR szBuffer[16] = { 0 };
      if( ::GetClassName(hWnd, szBuffer, (sizeof(szBuffer)/sizeof(TCHAR))-1) ) {
         ATLASSERT(::lstrcmpi(szBuffer, TBase::GetWndClassName())==0);
      }
#endif
      BOOL bRet = CWindowImpl< T, TBase, TWinTraits >::SubclassWindow(hWnd);
      if( bRet ) _Init();
      return bRet;
   }

   // Implementation

   void _Init()
   {
      ATLASSERT(::IsWindow(m_hWnd));
      
      // Calculate XP colours
      CWindowDC dc(NULL);
      int nBitsPerPixel = dc.GetDeviceCaps(BITSPIXEL);
      m_clrBorder = ::GetSysColor(COLOR_HIGHLIGHT);
      if( nBitsPerPixel > 8 ) {
         m_clrHighlight = BlendRGB(m_clrBorder, ::GetSysColor(COLOR_WINDOW), 70);
         m_clrHighlightDark = BlendRGB(m_clrBorder, ::GetSysColor(COLOR_WINDOW), 60);
      }
      else {
         m_clrHighlight = ::GetSysColor(COLOR_HIGHLIGHT);
         m_clrHighlightDark = ::GetSysColor(COLOR_HIGHLIGHT);
      }

      // Subclass child (edit) control if present
      if( GetWindow(GW_CHILD) ) {
         m_ctrlEdit.SubclassWindow(GetWindow(GW_CHILD));
      }
   }

   // Message map and handlers

   BEGIN_MSG_MAP(CComboBoxXPImpl)
      MESSAGE_HANDLER(WM_CREATE, OnCreate)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      REFLECTED_COMMAND_CODE_HANDLER(CBN_CLOSEUP, OnFocusChange);
      REFLECTED_COMMAND_CODE_HANDLER(CBN_KILLFOCUS, OnFocusChange);
      REFLECTED_COMMAND_CODE_HANDLER(CBN_SETFOCUS, OnFocusChange);
      CHAIN_MSG_MAP( CMouseHover< T > )
      DEFAULT_REFLECTION_HANDLER()
   ALT_MSG_MAP(1)
      MESSAGE_HANDLER(WM_MOUSEMOVE, OnEditMouseMove)
      MESSAGE_HANDLER(WM_MOUSELEAVE, OnEditMouseLeave)
   END_MSG_MAP()

   LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/)
   {
      LRESULT lRes = DefWindowProc(uMsg, wParam, lParam);
      _Init();
      return lRes;
   }
   LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
   {
      CPaintDC dc(m_hWnd);

      RECT rc;
      GetClientRect(&rc);
      RECT rcButton = { rc.right - ::GetSystemMetrics(SM_CXHTHUMB), rc.top, rc.right, rc.bottom };
      ValidateRect(&rcButton);

      LRESULT lRes = DefWindowProc(WM_PRINTCLIENT, (WPARAM) (HDC) dc, PRF_CLIENT);

      COLORREF clrBorder = ::GetSysColor(COLOR_WINDOW);
      COLORREF clrBack = ::GetSysColor(COLOR_3DFACE);
      if( IsWindowEnabled() ) {
         if( m_fMouseOver || 
             m_fMouseOverEdit ||
             ::GetFocus() == m_hWnd || 
             ::GetParent(::GetFocus()) == m_hWnd )
         {
            clrBorder = m_clrBorder;
            clrBack = m_clrHighlight;
         }
         if( GetDroppedState() ) {
            clrBorder = m_clrBorder;
            clrBack = m_clrHighlightDark;
         }
      }

      // Draw the border
      CPen pen;
      pen.CreatePen(PS_SOLID, 1, clrBorder);
      HPEN hOldPen = dc.SelectPen(pen);
      HBRUSH hOldBrush = dc.SelectBrush(::GetSysColorBrush(COLOR_WINDOW));
      dc.Rectangle(&rc);

      // Paint the button
      CBrush brush;
      brush.CreateSolidBrush(clrBack);
      dc.SelectBrush(brush);
      dc.Rectangle(&rcButton);

      // Draw dropdown arrow
      // Need this because all the OEM bitmaps render grey backgrounds...
      RECT rcArrow = { rcButton.left + 5, rcButton.top + 8, rcButton.right - 5, rcButton.top + 11 };
      POINT points[3] = 
      {
         { rcArrow.left, rcArrow.top },
         { rcArrow.right, rcArrow.top },
         { rcArrow.left + ((rcArrow.right - rcArrow.left) / 2), rcArrow.bottom }
      };
      int iFillMode = dc.SetPolyFillMode(WINDING);
      dc.SelectStockPen(BLACK_PEN);
      dc.SelectStockBrush(BLACK_BRUSH);
      dc.Polygon(points, 3);
      dc.SetPolyFillMode(iFillMode);
      
      dc.SelectPen(hOldPen);
      dc.SelectBrush(hOldBrush);
      
      return lRes;
   }
   LRESULT OnFocusChange(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
   {
      LRESULT lRes = DefWindowProc();
      Invalidate();
      return lRes;
   }

   // Edit control

   LRESULT OnEditMouseMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
   {
      if( !m_fMouseOverEdit )   {
         m_fMouseOverEdit = true;
         ::InvalidateRect(m_hWnd, NULL, FALSE);
         ::UpdateWindow(m_hWnd);
         // Let us know when the mouse leaves
         TRACKMOUSEEVENT tme = { 0 };
         tme.cbSize = sizeof(tme);
         tme.dwFlags = TME_LEAVE;
         tme.hwndTrack = m_ctrlEdit;
         _TrackMouseEvent(&tme);
      }
      bHandled = FALSE;
      return 0;
   }
   LRESULT OnEditMouseLeave(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
   {
      if( m_fMouseOverEdit ) {
         m_fMouseOverEdit = false;
         ::InvalidateRect(m_hWnd, NULL, FALSE);
         ::UpdateWindow(m_hWnd);
      }
      bHandled = FALSE;
      return 0;
   }
};

class CComboBoxXPCtrl : public CComboBoxXPImpl<CComboBoxXPCtrl>
{
public:
   DECLARE_WND_SUPERCLASS(_T("WTL_ComboBoxXP"), GetWndClassName())  
};


#endif // __ATLGDIX_H__


#endif // __ATLCTRLWXP2_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一线二线三线| 欧美在线色视频| 26uuu色噜噜精品一区| 亚洲美女视频在线| www.色精品| 欧美国产一区二区| 成人av电影在线网| 亚洲三级电影全部在线观看高清| 国产精品1区2区3区在线观看| 国产日韩欧美制服另类| av资源网一区| 亚洲一卡二卡三卡四卡| 91麻豆精品国产91久久久| 天天av天天翘天天综合网 | 中文字幕中文字幕在线一区| av在线综合网| 亚洲天堂网中文字| 91免费看`日韩一区二区| 亚洲午夜久久久久久久久久久| 在线亚洲一区二区| 最好看的中文字幕久久| 欧美在线免费观看亚洲| 日韩av在线发布| 久久久久久久久久久黄色| 成人午夜激情影院| 亚洲国产日韩a在线播放| 日韩美女视频在线| 成人爽a毛片一区二区免费| 亚洲女同一区二区| 精品视频资源站| 国产在线精品免费| 中文字幕一区二区视频| 欧美三级韩国三级日本一级| 麻豆91在线看| 中文一区二区在线观看| 在线观看亚洲精品| 老汉av免费一区二区三区| 国产精品丝袜久久久久久app| 色综合天天综合网天天狠天天| 亚洲男同1069视频| 日韩欧美中文一区二区| 国产精品69毛片高清亚洲| 亚洲精品伦理在线| 欧美一区二区三区四区高清| 国产成人精品一区二区三区网站观看| 国产日产欧美一区二区视频| 在线免费精品视频| 九九视频精品免费| 亚洲美女在线一区| 日韩精品一区二区三区视频播放 | www一区二区| 91美女片黄在线观看| 午夜精品久久久久久久久| 久久奇米777| 欧美手机在线视频| 成人永久aaa| 首页亚洲欧美制服丝腿| 中文字幕第一页久久| 在线中文字幕一区二区| 日韩电影在线一区| 亚洲欧美综合色| 日韩视频一区二区在线观看| 91丝袜美女网| 精品一区二区成人精品| 亚洲一级片在线观看| 国产欧美一区二区三区在线看蜜臀| 色综合久久久久综合| 黄一区二区三区| 午夜精品aaa| 亚洲日本中文字幕区| 久久久久久免费毛片精品| 5858s免费视频成人| 一本久久a久久免费精品不卡| 亚洲va中文字幕| 国产精品久久久久三级| 欧美特级限制片免费在线观看| 国产一区二区三区四区在线观看 | 国产精品久久影院| 精品国产乱子伦一区| 欧美视频一区二区三区在线观看| 黄色精品一二区| 日韩电影在线观看网站| 一区二区在线免费| 国产精品天美传媒沈樵| 91精品国产全国免费观看| 在线免费不卡视频| 9人人澡人人爽人人精品| 国产一区欧美二区| 日本欧美在线观看| 亚洲综合色噜噜狠狠| 亚洲精品在线免费观看视频| 7777精品久久久大香线蕉| 国产一区二区三区| 久久国产精品第一页| 日韩国产高清影视| 性欧美疯狂xxxxbbbb| 国产女人aaa级久久久级 | 一本一道久久a久久精品| 久久99精品久久久| 蜜臀av性久久久久av蜜臀妖精| 亚洲自拍偷拍麻豆| 亚洲毛片av在线| 日韩伦理av电影| 国产精品毛片高清在线完整版| 精品国产3级a| 精品久久久久久最新网址| 91精品国产91久久久久久一区二区 | 欧美不卡一二三| 欧美一区二区三区在线观看 | 91九色02白丝porn| 91免费看`日韩一区二区| 岛国一区二区三区| 国产精品 欧美精品| 美女在线一区二区| 麻豆精品蜜桃视频网站| 麻豆精品在线视频| 久久不见久久见免费视频7| 美女网站色91| 蜜臀99久久精品久久久久久软件| 亚洲一区国产视频| 亚洲小少妇裸体bbw| 一个色综合网站| 亚洲永久精品大片| 亚洲成人午夜电影| 日韩精品一区第一页| 日韩av网站在线观看| 午夜一区二区三区在线观看| 亚洲一区二区在线免费看| 国产欧美va欧美不卡在线| 久久香蕉国产线看观看99| 国产色综合久久| 国产精品久久三| 亚洲卡通欧美制服中文| 一区二区三区四区不卡在线| 一区二区三区美女视频| 亚洲午夜电影网| 日韩黄色免费网站| 久久精品国产秦先生| 国产一级精品在线| 国产成人av影院| 91浏览器打开| 欧美亚洲国产bt| 欧美一级在线视频| 亚洲精品在线三区| 中文字幕av资源一区| 亚洲另类春色国产| 日日夜夜精品视频天天综合网| 美女精品一区二区| 青青草91视频| 国产毛片精品一区| 99精品视频一区二区三区| 欧美综合视频在线观看| 欧美日韩在线播放三区| 日韩欧美中文字幕精品| 国产女主播一区| 一区二区三区在线观看网站| 日韩电影一二三区| 国产99久久久久久免费看农村| 91麻豆免费在线观看| 欧美妇女性影城| 亚洲精品一区二区三区四区高清 | 欧美变态凌虐bdsm| 国产精品欧美经典| 性久久久久久久| 乱中年女人伦av一区二区| 国产乱人伦偷精品视频免下载| 成人在线视频一区二区| 色综合中文综合网| 色噜噜狠狠成人中文综合| 在线播放视频一区| 国产欧美一区二区三区鸳鸯浴| 亚洲精品日韩专区silk| 奇米亚洲午夜久久精品| 粉嫩av一区二区三区在线播放 | 日韩一区二区影院| 日本一区二区成人在线| 五月开心婷婷久久| 99re视频精品| 久久一夜天堂av一区二区三区| 亚洲午夜久久久久中文字幕久| 国产成人丝袜美腿| 欧美一区二区福利在线| 亚洲精品免费在线| 成人性视频免费网站| 日韩欧美亚洲另类制服综合在线| 亚洲欧美国产高清| 国产91精品在线观看| 欧美一区二区视频在线观看2022 | 亚洲二区在线观看| 成人一区二区视频| 日韩一区二区三区四区 | 一区二区在线观看免费| 国产精品一级二级三级| 91精品麻豆日日躁夜夜躁| 一区二区三区在线播| va亚洲va日韩不卡在线观看| 久久久青草青青国产亚洲免观| 日韩电影在线免费观看| 91国产福利在线| 国产精品初高中害羞小美女文|