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

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

?? scbarg.cpp

?? 一個源代碼管理工具,支持懸浮框拖曳,后臺數據庫管理,代碼高亮顯示燈功能
?? CPP
字號:
// sizecbar.cpp : implementation file
//

#include "stdafx.h"

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

int CALLBACK EnumFontFamProc(ENUMLOGFONT FAR *lpelf,
                             NEWTEXTMETRIC FAR *lpntm,
                             int FontType,
                             LPARAM lParam)
{
    UNUSED_ALWAYS(lpelf);
    UNUSED_ALWAYS(lpntm);
    UNUSED_ALWAYS(FontType);
    UNUSED_ALWAYS(lParam);

    return 0;
}

/////////////////////////////////////////////////////////////////////////
// CCoolBar

IMPLEMENT_DYNAMIC(CCoolBar, baseCCoolBar);

CCoolBar::CCoolBar()
{
	m_hNotifyWnd = NULL;
    m_cyGripper = 12;
	SetSCBStyle(GetSCBStyle() |	SCBS_SIZECHILD);
	    m_bActive = FALSE;
    CDC dc;
    dc.CreateCompatibleDC(NULL);
    m_sFontFace = (::EnumFontFamilies(dc.m_hDC,
        _T("宋體"), (FONTENUMPROC) EnumFontFamProc, 0) == 0) ?
        _T("宋體") : _T("Tahoma");
    dc.DeleteDC();
}

CCoolBar::~CCoolBar()
{
}

BEGIN_MESSAGE_MAP(CCoolBar, baseCCoolBar)
    //{{AFX_MSG_MAP(CCoolBar)
    ON_WM_NCLBUTTONUP()
    ON_WM_NCHITTEST()
    //}}AFX_MSG_MAP
    ON_MESSAGE(WM_SETTEXT, OnSetText)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////
// CCoolBar message handlers

BOOL CCoolBar::Create(LPCTSTR lpszWindowName, CWnd* pParentWnd,
                               CSize sizeDefault, BOOL bHasGripper,
                               UINT nID, DWORD dwStyle)
{
	ASSERT_VALID(pParentWnd);
	m_hNotifyWnd = pParentWnd->m_hWnd;

    return baseCCoolBar::Create(lpszWindowName, pParentWnd, sizeDefault, bHasGripper, nID, dwStyle);
}

BOOL CCoolBar::Create(LPCTSTR lpszWindowName,
                               CWnd* pParentWnd, UINT nID,
                               DWORD dwStyle)
{
	ASSERT_VALID(pParentWnd);
	m_hNotifyWnd = pParentWnd->m_hWnd;

	return baseCCoolBar::Create(lpszWindowName, pParentWnd, nID, dwStyle);
}

/////////////////////////////////////////////////////////////////////////
// Mouse Handling
//

void CCoolBar::OnNcLButtonUp(UINT nHitTest, CPoint point)
{
    if (nHitTest == HTCLOSE)
        m_pDockSite->ShowControlBar(this, FALSE, FALSE); // hide

    baseCCoolBar::OnNcLButtonUp(nHitTest, point);
}

#ifndef COLOR_GRADIENTACTIVECAPTION
#define COLOR_GRADIENTACTIVECAPTION     27
#define COLOR_GRADIENTINACTIVECAPTION   28
#define SPI_GETGRADIENTCAPTIONS         0x1008
#endif

void CCoolBar::NcCalcClient(LPRECT pRc, UINT nDockBarID)
{
    CRect rcBar(pRc); // save the bar rect

    // subtract edges
    baseCCoolBar::NcCalcClient(pRc, nDockBarID);

    if (!HasGripper())
        return;

    CRect rc(pRc); // the client rect as calculated by the base class

    BOOL bHorz = (nDockBarID == AFX_IDW_DOCKBAR_TOP) ||
                 (nDockBarID == AFX_IDW_DOCKBAR_BOTTOM);

    if (bHorz)
        rc.DeflateRect(m_cyGripper, 0, 0, 0);
    else
        rc.DeflateRect(0, m_cyGripper, 0, 0);

    // set position for the "x" (hide bar) button
    CPoint ptOrgBtn;
    if (bHorz)
        ptOrgBtn = CPoint(rc.left - 14, rc.top);
    else
        ptOrgBtn = CPoint(rc.right - 12, rc.top - 14);

    m_biHide.Move(ptOrgBtn - rcBar.TopLeft());

    *pRc = rc;
}

void CCoolBar::NcPaintGripper(CDC* pDC, CRect rcClient)
{
    if (!HasGripper())
        return;
#ifndef _SCB_STYLE_FLAT
    CRect gripper = rcClient;
    CRect rcbtn = m_biHide.GetRect();
    BOOL bHorz = IsHorzDocked();

    gripper.DeflateRect(1, 1);
    if (bHorz)
    {   // gripper at left
        gripper.left -= m_cyGripper;
        gripper.right = gripper.left + 3;
        gripper.top = rcbtn.bottom + 3;
    }
    else
    {   // gripper at top
        gripper.top -= m_cyGripper;
        gripper.bottom = gripper.top + 3;
        gripper.right = rcbtn.left - 3;
    }

    pDC->Draw3dRect(gripper, ::GetSysColor(COLOR_BTNHIGHLIGHT),
        ::GetSysColor(COLOR_BTNSHADOW));

    gripper.OffsetRect(bHorz ? 3 : 0, bHorz ? 0 : 3);

    pDC->Draw3dRect(gripper, ::GetSysColor(COLOR_BTNHIGHLIGHT),
        ::GetSysColor(COLOR_BTNSHADOW));

    m_biHide.Paint(pDC);

#else

    // compute the caption rectangle
    BOOL bHorz = IsHorzDocked();
    CRect rcGrip = rcClient;
    CRect rcBtn = m_biHide.GetRect();
    if (bHorz)
    {   // right side gripper
        rcGrip.left -= m_cyGripper + 1;
        rcGrip.right = rcGrip.left + 11;
        rcGrip.top = rcBtn.bottom + 3;
    }
    else
    {   // gripper at top
        rcGrip.top -= m_cyGripper + 1;
        rcGrip.bottom = rcGrip.top + 11;
        rcGrip.right = rcBtn.left - 3;
    }
    rcGrip.InflateRect(bHorz ? 1 : 0, bHorz ? 0 : 1);

    // draw the caption background
    //CBrush br;
    COLORREF clrCptn = m_bActive ?
        ::GetSysColor(COLOR_ACTIVECAPTION) :
        ::GetSysColor(COLOR_INACTIVECAPTION);

    // query gradient info (usually TRUE for Win98/Win2k)
    BOOL bGradient = FALSE;
    ::SystemParametersInfo(SPI_GETGRADIENTCAPTIONS, 0, &bGradient, 0);
    
    if (!bGradient)
        pDC->FillSolidRect(&rcGrip, clrCptn); // solid color
    else
    {
        // gradient from left to right or from bottom to top
        // get second gradient color (the right end)
        COLORREF clrCptnRight = m_bActive ?
            ::GetSysColor(COLOR_GRADIENTACTIVECAPTION) :
            ::GetSysColor(COLOR_GRADIENTINACTIVECAPTION);

        // this will make 2^6 = 64 fountain steps
        int nShift = 6;
        int nSteps = 1 << nShift;

        for (int i = 0; i < nSteps; i++)
        {
            // do a little alpha blending
            int nR = (GetRValue(clrCptn) * (nSteps - i) +
                      GetRValue(clrCptnRight) * i) >> nShift;
            int nG = (GetGValue(clrCptn) * (nSteps - i) +
                      GetGValue(clrCptnRight) * i) >> nShift;
            int nB = (GetBValue(clrCptn) * (nSteps - i) +
                      GetBValue(clrCptnRight) * i) >> nShift;

            COLORREF cr = RGB(nR, nG, nB);

            // then paint with the resulting color
            CRect r2 = rcGrip;
            if (bHorz)
            {
                r2.bottom = rcGrip.bottom - 
                    ((i * rcGrip.Height()) >> nShift);
                r2.top = rcGrip.bottom - 
                    (((i + 1) * rcGrip.Height()) >> nShift);
                if (r2.Height() > 0)
                    pDC->FillSolidRect(r2, cr);
            }
            else
            {
                r2.left = rcGrip.left + 
                    ((i * rcGrip.Width()) >> nShift);
                r2.right = rcGrip.left + 
                    (((i + 1) * rcGrip.Width()) >> nShift);
                if (r2.Width() > 0)
                    pDC->FillSolidRect(r2, cr);
            }
        }
    }

    // draw the caption text - first select a font
    CFont font;
    int ppi = pDC->GetDeviceCaps(LOGPIXELSX);
    int pointsize = MulDiv(96, 96, ppi); // 8.5 points at 96 ppi

    LOGFONT lf;
    BOOL bFont = font.CreatePointFont(pointsize, m_sFontFace);
    if (bFont)
    {
        // get the text color
        COLORREF clrCptnText = m_bActive ?
            ::GetSysColor(COLOR_CAPTIONTEXT) :
            ::GetSysColor(COLOR_INACTIVECAPTIONTEXT);

        int nOldBkMode = pDC->SetBkMode(TRANSPARENT);
        COLORREF clrOldText = pDC->SetTextColor(clrCptnText);

        if (bHorz)
        {
            // rotate text 90 degrees CCW if horizontally docked
            font.GetLogFont(&lf);
            font.DeleteObject();
            lf.lfEscapement = 900;
            font.CreateFontIndirect(&lf);
        }
        
        CFont* pOldFont = pDC->SelectObject(&font);
        CString sTitle;
        GetWindowText(sTitle);

        CPoint ptOrg = bHorz ?
            CPoint(rcGrip.left - 1, rcGrip.bottom - 3) :
            CPoint(rcGrip.left + 3, rcGrip.top - 1);

        pDC->ExtTextOut(ptOrg.x, ptOrg.y,
            ETO_CLIPPED, rcGrip, sTitle, NULL);

        pDC->SelectObject(pOldFont);
        pDC->SetBkMode(nOldBkMode);
        pDC->SetTextColor(clrOldText);
    }

    // draw the button
    m_biHide.Paint(pDC);
#endif
}

UINT CCoolBar::OnNcHitTest(CPoint point)
{
    CRect rcBar;
    GetWindowRect(rcBar);

    UINT nRet = baseCCoolBar::OnNcHitTest(point);
    if (nRet != HTCLIENT)
        return nRet;

    CRect rc = m_biHide.GetRect();
    rc.OffsetRect(rcBar.TopLeft());
    if (rc.PtInRect(point))
        return HTCLOSE;

    return HTCLIENT;
}

/////////////////////////////////////////////////////////////////////////
// CCoolBar implementation helpers

void CCoolBar::OnUpdateCmdUI(CFrameWnd* pTarget,
                                      BOOL bDisableIfNoHndler)
{
    UNUSED_ALWAYS(bDisableIfNoHndler);
    UNUSED_ALWAYS(pTarget);

    if (!HasGripper())
        return;

    BOOL bNeedPaint = FALSE;

    CPoint pt;
    ::GetCursorPos(&pt);
    BOOL bHit = (OnNcHitTest(pt) == HTCLOSE);
    BOOL bLButtonDown = (::GetKeyState(VK_LBUTTON) < 0);

    BOOL bWasPushed = m_biHide.bPushed;
    m_biHide.bPushed = bHit && bLButtonDown;

    BOOL bWasRaised = m_biHide.bRaised;
    m_biHide.bRaised = bHit && !bLButtonDown;

	CWnd* pFocus = GetFocus();
    BOOL bActiveOld = m_bActive;
    m_bActive = (pFocus->GetSafeHwnd() && IsChild(pFocus));
    if (m_bActive != bActiveOld)
        bNeedPaint = TRUE;

    bNeedPaint |= (m_biHide.bPushed ^ bWasPushed) ||
                  (m_biHide.bRaised ^ bWasRaised);

    if (bNeedPaint)
        SendMessage(WM_NCPAINT);
}

/////////////////////////////////////////////////////////////////////////
// CSCBButton

CSCBButton::CSCBButton()
{
    bRaised = FALSE;
    bPushed = FALSE;
}

void CSCBButton::Paint(CDC* pDC)
{
    CRect rc = GetRect();

    if (bPushed)
        pDC->Draw3dRect(rc, ::GetSysColor(COLOR_BTNSHADOW),
            ::GetSysColor(COLOR_BTNHIGHLIGHT));
    else
        if (bRaised)
            pDC->Draw3dRect(rc, ::GetSysColor(COLOR_BTNHIGHLIGHT),
                ::GetSysColor(COLOR_BTNSHADOW));

    COLORREF clrOldTextColor = pDC->GetTextColor();
    pDC->SetTextColor(::GetSysColor(COLOR_BTNTEXT));
    int nPrevBkMode = pDC->SetBkMode(TRANSPARENT);
    CFont font;
    int ppi = pDC->GetDeviceCaps(LOGPIXELSX);
    int pointsize = MulDiv(60, 96, ppi); // 6 points at 96 ppi
    font.CreatePointFont(pointsize, _T("Marlett"));
    CFont* oldfont = pDC->SelectObject(&font);

    pDC->TextOut(ptOrg.x + 3, ptOrg.y + 3, CString(_T("r"))); // x-like

    pDC->SelectObject(oldfont);
    pDC->SetBkMode(nPrevBkMode);
    pDC->SetTextColor(clrOldTextColor);
}

BOOL CCoolBar::HasGripper() const
{
#if defined(_SCB_MINIFRAME_CAPTION) || !defined(_SCB_REPLACE_MINIFRAME)
    // if the miniframe has a caption, don't display the gripper
    if (IsFloating())
        return FALSE;
#endif //_SCB_MINIFRAME_CAPTION

    return TRUE;
}

LRESULT CCoolBar::OnSetText(WPARAM wParam, LPARAM lParam)
{
    LRESULT lResult = baseCCoolBar::OnSetText(wParam, lParam);

    SendMessage(WM_NCPAINT);

    return lResult;
}

BOOL CCoolBar::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
	// 將WM_NOTIFY消息轉交給消息通知窗口處理

	::SendMessage(m_hNotifyWnd, WM_NOTIFY, wParam, lParam);
	*pResult = 0;
	
	return TRUE;
}

void CCoolBar::SetNotifyWindow(HWND hNotifyWnd)
{
	m_hNotifyWnd = hNotifyWnd;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久草这里只有精品视频| 91精品国产91久久综合桃花| 久久久精品中文字幕麻豆发布| 男人的天堂久久精品| 日韩欧美一卡二卡| 激情综合色综合久久| 久久久久久黄色| 99久久免费精品高清特色大片| 国产精品久久久久久久久免费桃花 | 亚洲精品免费在线播放| 99久久精品久久久久久清纯| 亚洲精品国产第一综合99久久 | 另类综合日韩欧美亚洲| 久久嫩草精品久久久精品一| 国产.欧美.日韩| 亚洲黄色录像片| 欧美一卡2卡3卡4卡| 国产精品一区二区在线观看不卡 | 婷婷一区二区三区| 日韩精品综合一本久道在线视频| 国产真实乱对白精彩久久| 亚洲国产精品成人综合| 色婷婷综合久久久久中文| 亚洲国产精品久久久久秋霞影院| 日韩一区二区三区电影| 高清不卡一区二区在线| 亚洲第一会所有码转帖| 久久免费午夜影院| 欧洲中文字幕精品| 国产一区二区中文字幕| 亚洲一区二区三区中文字幕在线| 91精品国产综合久久久久久漫画 | 久久99精品一区二区三区 | 亚洲美女视频一区| 欧美一区二区三区免费在线看| 国产乱码精品一区二区三| 一区二区三区高清| 久久精品一区二区三区av| 欧美精品在线一区二区三区| 丁香五精品蜜臀久久久久99网站| 亚洲成人午夜影院| 中文字幕av一区二区三区免费看| 欧美老肥妇做.爰bbww| av一区二区三区| 精品在线免费观看| 午夜精品久久久久久久久久| 中文字幕高清不卡| 精品国产精品网麻豆系列| 欧美性生交片4| 99久久综合国产精品| 激情都市一区二区| 日韩av电影天堂| 亚洲欧美日韩一区二区三区在线观看| 日韩免费电影网站| 欧美日韩视频在线观看一区二区三区| 国产成人在线视频网站| 青青草精品视频| 亚洲午夜久久久久久久久久久 | 久久99精品国产麻豆婷婷洗澡| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 91精品国产一区二区三区蜜臀| 91丝袜美女网| 粉嫩aⅴ一区二区三区四区五区| 日韩黄色免费网站| 亚洲国产精品久久不卡毛片| 亚洲欧洲综合另类| 亚洲天堂成人网| 最新国产精品久久精品| 欧美国产乱子伦| 国产精品情趣视频| 国产亚洲精品bt天堂精选| 精品区一区二区| 精品粉嫩超白一线天av| 日韩免费高清视频| 久久免费视频一区| 久久久久国色av免费看影院| 久久综合九色欧美综合狠狠| 精品国产亚洲在线| 精品电影一区二区三区 | 国产精品一区二区x88av| 久久99久久99| 国产老肥熟一区二区三区| 国产一区亚洲一区| 国产精品一区一区三区| 国产成人精品亚洲日本在线桃色| 国产精品一区专区| 成人免费观看男女羞羞视频| 不卡高清视频专区| 91在线视频免费观看| 日本韩国欧美三级| 欧美丝袜丝交足nylons图片| 91精品欧美福利在线观看| 欧美成人aa大片| 中文字幕av资源一区| 亚洲精品国产一区二区三区四区在线| 一区二区三区在线视频免费观看| 亚洲国产成人av| 蜜桃一区二区三区在线观看| 韩国女主播成人在线| 高清国产一区二区三区| 在线看一区二区| 91精品国产高清一区二区三区| 精品久久久久香蕉网| 国产日产欧美一区| 亚洲精品免费在线观看| 美女爽到高潮91| 成人免费高清在线观看| 欧美日本在线观看| 久久一区二区三区国产精品| 成人欧美一区二区三区白人| 亚洲.国产.中文慕字在线| 国内成+人亚洲+欧美+综合在线| 国产成人自拍在线| 欧美日韩一本到| 国产色一区二区| 亚洲国产毛片aaaaa无费看| 激情都市一区二区| 在线精品视频免费播放| www国产精品av| 亚洲综合区在线| 国产成人超碰人人澡人人澡| 欧美色倩网站大全免费| 国产亚洲一本大道中文在线| 亚洲精品免费视频| 国产一区二区在线视频| 欧美日韩精品三区| 亚洲图片另类小说| 韩国一区二区三区| 欧美人伦禁忌dvd放荡欲情| 国产日韩欧美高清| 日本亚洲视频在线| 91性感美女视频| 精品国产91洋老外米糕| 午夜精品久久久久影视| 91一区一区三区| 久久精品在这里| 玖玖九九国产精品| 欧美日韩国产免费一区二区 | 91蝌蚪porny| 久久久久久久综合| 五月天一区二区三区| voyeur盗摄精品| 久久久久国产精品麻豆| 男人的天堂久久精品| 欧美日韩美少妇| 亚洲婷婷国产精品电影人久久| 国产美女一区二区三区| 91精品国产综合久久香蕉麻豆| 亚洲欧美二区三区| 成人av电影免费在线播放| 精品国产网站在线观看| 日韩激情视频在线观看| 欧美午夜一区二区| 一区二区三区精品视频| 91麻豆精品一区二区三区| 国产日产精品1区| 国产91高潮流白浆在线麻豆| 久久久久88色偷偷免费| 国产精品一区在线观看乱码| 久久综合色之久久综合| 国产主播一区二区三区| 日韩免费高清av| 另类调教123区| 亚洲精品一区在线观看| 精品一二三四区| 久久亚洲私人国产精品va媚药| 日本午夜一本久久久综合| 884aa四虎影成人精品一区| 日韩综合小视频| 欧美一区二区三区视频| 九九国产精品视频| 精品国产免费视频| 国产一区二区三区四区五区美女 | 中文字幕亚洲区| 成人av午夜电影| 美女高潮久久久| 91.xcao| 蜜臀久久99精品久久久画质超高清| 欧美久久一二区| 美洲天堂一区二卡三卡四卡视频| 91精品国产综合久久久久久| 免费观看在线综合色| 日韩精品一区二区在线| 久久99精品久久只有精品| 久久婷婷色综合| 成人av电影免费在线播放| 亚洲卡通动漫在线| 欧美老人xxxx18| 国产福利不卡视频| 亚洲欧美日韩人成在线播放| 欧美亚洲综合在线| 免费在线欧美视频| 欧美国产精品中文字幕| 色综合久久88色综合天天 | 天堂av在线一区| 亚洲精品一区二区三区福利 | 色偷偷88欧美精品久久久| 午夜影视日本亚洲欧洲精品| 欧美成人a∨高清免费观看| 成人精品电影在线观看|