Files
2026-06-01 12:46:52 +02:00

98 lines
1.9 KiB
C++

// XTPScrollInfo.h : Menu scroll support class
//
// This file is a part of the XTREME CONTROLS MFC class library.
// (c)1998-2013 Codejock Software, All Rights Reserved.
//
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
// CONSENT OF CODEJOCK SOFTWARE.
//
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
// SINGLE COMPUTER.
//
// CONTACT INFORMATION:
// support@codejock.com
// http://www.codejock.com
//
/////////////////////////////////////////////////////////////////////////////
//{{AFX_CODEJOCK_PRIVATE
#if !defined(__XTPSCROLLINFO_H__)
#define __XTPSCROLLINFO_H__
//}}AFX_CODEJOCK_PRIVATE
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define XTP_TID_HOVERUP 5001
#define XTP_TID_HOVERDOWN 5002
class XTP_SCROLLINFO
{
public:
class XTP_BTNSCROLL
{
public:
void Init(CWnd *pParent, UINT nID)
{
m_pParent = pParent;
m_nID = nID;
m_rc.SetRectEmpty();
m_nTimer = 0;
}
UINT m_nID;
UINT m_nTimer;
CRect m_rc;
CWnd *m_pParent;
void KillTimer()
{
if (0 != m_nTimer)
{
m_pParent->KillTimer(m_nTimer);
m_nTimer = 0;
}
}
void SetTimer()
{
if (m_nTimer == 0)
{
m_nTimer = (UINT)m_pParent->SetTimer(m_nID, 200, 0);
}
}
BOOL OnMouseMove(CPoint point)
{
if (m_rc.PtInRect(point))
{
SetTimer();
return TRUE;
}
else if (m_nTimer)
{
KillTimer();
}
return FALSE;
}
};
BOOL bScroll;
int nScrollFirst, nScrollLast;
XTP_BTNSCROLL btnUp;
XTP_BTNSCROLL btnDown;
void Init(CWnd *pWnd, UINT nIDUp, UINT nIDDown)
{
btnUp.Init(pWnd, nIDUp);
btnDown.Init(pWnd, nIDDown);
bScroll = nScrollFirst = nScrollLast = 0;
}
};
#endif // #if !defined(__XTPSCROLLINFO_H__)