• 大小: 269.69 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-11-27
  • 语言: 其他
  • 标签: GDI  自绘  滚动条  

资源简介

GDI自绘滚动条

资源截图

代码片段和文件信息

// ScrollBarEx.cpp: implementation of the CScrollBarEx class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “ScrollBarEx.h“

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

#ifndef IDC_HAND
#define IDC_HAND MAKEINTRESOURCE(32649) // From WINUSER.H
#endif

#define BACK_COLOR                          RGB(0230)
#define ARROW_COLOR                         RGB(0 185 118)
#define THUMB_COLOR                         RGB(220 195 98)
#define THUMB_HOVER_COLOR                   RGB(255 204 0)
#define frame_COLOR                         RGB(76 85 118) // dark gray


#define TIMER_LEFTUP_LBUTTON_PRESSED 2
#define TIMER_RIGHTDN_LBUTTON_PRESSED 3
#define TIMER_PAGEUP_LBUTTON_PRESSED 4
#define TIMER_PAGEDN_LBUTTON_PRESSED 5

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

BEGIN_MESSAGE_MAP(CScrollBarEx CLSASS_base)
ON_WM_PAINT()
ON_WM_DESTROY()
ON_WM_ERASEBKGND()
ON_WM_SIZE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_MESSAGE(WM_MOUSEHOVER OnMouseHover)
ON_MESSAGE(WM_MOUSELEAVE onmouseleave)
ON_WM_TIMER()
ON_WM_LBUTTONDBLCLK()
ON_WM_RBUTTONDOWN()
END_MESSAGE_MAP()


CScrollBarEx::CScrollBarEx()
{
    m_pParent              = NULL;
    m_hCursor              = NULL;
    m_bHorizontal          = FALSE;
    m_rtBarClient          = CRect(-1-1-1-1);
    m_rtLeftUpArrow        = CRect(-1-1-1-1);
    m_rtRightDownArrow     = CRect(-1-1-1-1);
    m_rtThumbClient        = CRect(-1-1-1-1);
    m_clrArrowL            = ARROW_COLOR;
    m_clrArrowR            = ARROW_COLOR;
    m_clrThumb             = THUMB_COLOR;
    m_iCounter             = 0;
    m_bDragging            = FALSE;
    m_ptDragOffset         = 0;
    m_bLastHand            = FALSE;
    m_bHover               = FALSE;

    DWORD si[] = {sizeof(SCROLLINFO) SIF_ALL 0 100 10 0 0};
    memcpy(&m_si si sizeof(SCROLLINFO));
}

CScrollBarEx::~CScrollBarEx()
{
}

BOOL CScrollBarEx::CreateFromWindow(DWORD dwstyle CWnd* pParentWnd HWND hWnd UINT nId)
{
    ASSERT(pParentWnd);
    ASSERT(IsWindow(pParentWnd->m_hWnd));
    ASSERT(::IsWindow(hWnd));
    
    CRect rect;
    ::GetWindowRect(hWnd &rect);
    pParentWnd->ScreenToClient(&rect);
    
    ::ShowWindow(hWnd SW_HIDE);
    
return CreateFromRect(dwstyle pParentWnd rect nId);
}

#define ARROWSIZE 20
BOOL CScrollBarEx::CreateFromRect(DWORD dwstyle CWnd* pParentWnd CRect& rect UINT nId)
{
    if (pParentWnd == NULL || !IsWindow(pParentWnd->m_hWnd)) _asm int 3;
    
    m_pParent = pParentWnd;
    m_hCursor = AfxGetApp()->LoadStandardCursor(IDC_HAND);
    m_bHorizontal = (dwstyle & SBS_VERT) ? FALSE : TRUE;
    
    return CLSASS_base::Create(AfxRegisterWndClass(CS_VREDRAW | C

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3723  2010-07-25 13:46  ScrollBarEx\ReadMe.txt

     文件        103  2010-07-25 13:48  ScrollBarEx\res\HorizontalScrollBarChannel.bmp

     文件        966  2010-07-25 13:48  ScrollBarEx\res\HorizontalScrollBarLeftArrow.bmp

     文件        966  2010-07-25 13:48  ScrollBarEx\res\HorizontalScrollBarRightArrow.bmp

     文件        966  2010-07-25 13:48  ScrollBarEx\res\HorizontalScrollBarThumb.bmp

     文件        966  2010-07-25 13:48  ScrollBarEx\res\HorizontalScrollBarThumbNoColor.bmp

     文件      14336  2010-09-26 05:34  ScrollBarEx\res\Thumbs.db

     文件         91  2010-07-25 13:48  ScrollBarEx\res\VerticalScrollBarChannel.bmp

     文件        954  2010-07-25 13:48  ScrollBarEx\res\VerticalScrollBarDownArrow.bmp

     文件        954  2010-07-25 13:48  ScrollBarEx\res\VerticalScrollBarThumb.bmp

     文件        954  2010-07-25 13:48  ScrollBarEx\res\VerticalScrollBarThumbNoColor.bmp

     文件        954  2010-07-25 13:48  ScrollBarEx\res\VerticalScrollBarUpArrow.bmp

     文件       1078  2010-07-25 13:46  ScrollBarEx\res\XScrollBarTest.ico

     文件        407  2010-07-25 13:46  ScrollBarEx\res\XScrollBarTest.rc2

     目录          0  2014-06-19 23:15  ScrollBarEx\res

     文件       1257  2010-07-31 05:13  ScrollBarEx\resource.h

     文件        182  2010-07-29 12:50  ScrollBarEx\resource.hm

     文件      17361  2010-08-01 06:24  ScrollBarEx\ScrollBarEx.cpp

     文件       3292  2010-07-31 10:21  ScrollBarEx\ScrollBarEx.h

     文件        216  2014-06-19 23:16  ScrollBarEx\StdAfx.cpp

     文件       1054  2010-07-25 13:46  ScrollBarEx\StdAfx.h

     文件      13466  2008-08-29 23:40  ScrollBarEx\XScrollBar\Color.cpp

     文件      14201  2008-08-29 23:43  ScrollBarEx\XScrollBar\Color.h

     文件       1087  2004-09-20 01:26  ScrollBarEx\XScrollBar\memdc.h

     文件      44249  2010-07-30 12:32  ScrollBarEx\XScrollBar\XScrollBar.cpp

     文件       5944  2010-07-29 05:44  ScrollBarEx\XScrollBar\XScrollBar.h

     目录          0  2014-06-19 23:15  ScrollBarEx\XScrollBar

     文件      45832  2010-07-31 05:13  ScrollBarEx\XScrollBarTest.aps

     文件       1320  2010-07-31 05:21  ScrollBarEx\XScrollBarTest.clw

     文件       2175  2010-07-25 13:46  ScrollBarEx\XScrollBarTest.cpp

............此处省略18个文件信息

评论

共有 条评论