Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (C) 1996-1999 Microsoft Corporation
Module Name:
intrvbar.h
Abstract:
Definition of the interval bar class used by the CTimeRange class.
--*/
#ifndef _INTRVBAR_H_
#define _INTRVBAR_H_
class CIntervalBar {
friend LRESULT APIENTRY IntervalBarWndProc ( HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam );
private: enum { ModeNone, ModeLeft, ModeRight, ModeCenter };
HWND m_hWnd ; INT m_iBeginValue ; // user-supplied lowest range
INT m_iEndValue ; // user-supplied highest range
INT m_iStartValue ; // current start of selected interval
INT m_iStopValue ; // current end of selected interval
RECT m_rectBorder ; RECT m_rectLeftBk ; RECT m_rectLeftGrab ; RECT m_rectCenterGrab ; RECT m_rectRightGrab ; RECT m_rectRightBk ;
HBRUSH m_hBrushBk ;
POINTS m_ptsMouse ; INT m_iMode ; // who is being tracked?
void NotifyChange ( void ); BOOL GrabRect ( LPRECT lpRect ); void DrawGrab (HDC hDC, LPRECT lprectGrab, BOOL bDown ); INT ValueToPixel ( INT iValue ); INT PixelToValue ( INT xPixel ); void CalcPositions ( void ); void Draw ( HDC hDC, LPRECT lprectUpdate ); void MoveLeftRight ( BOOL bStart, BOOL bLeft, INT iMoveAmt ); void StartGrab ( void ); void EndGrab ( void ); void Update ( void );
BOOL OnKeyDown ( WPARAM wParam ); void OnLButtonDown ( POINTS ptsMouse ); void OnLButtonUp ( void ); void OnMouseMove ( POINTS ptsMouse );
public: CIntervalBar ( void ); ~CIntervalBar ( void ); BOOL Init ( HWND hWndParent ); HWND Window ( void ) { return m_hWnd; }
void SetRange ( INT iBegin, INT iEnd ); void SetStart ( INT iStart ); void SetStop ( INT iStop );
INT Start ( void ) { return m_iStartValue; } INT Stop ( void ) { return m_iStopValue; } INT XStart ( void ) { return m_rectLeftGrab.left; } INT XStop ( void ) { return m_rectRightGrab.right; }
};
typedef CIntervalBar *PCIntervalBar ;
//==========================================================================//
// Constants //
//==========================================================================//
#define ILN_SELCHANGED (WM_USER + 0x200)
#endif
|