88 lines
2 KiB
C++
88 lines
2 KiB
C++
#pragma once
|
|
|
|
|
|
// CMiniSliderEx
|
|
#define UM_MINISLIDER_UPDATE_POS WM_USER + 4000
|
|
#define UM_MINISLIDER_SET_POS WM_USER + 4001
|
|
|
|
class CMiniSliderEx : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CMiniSliderEx)
|
|
|
|
public:
|
|
enum SLIDER_TYPE {
|
|
ST_NORMAL,
|
|
ST_RANGE,
|
|
};
|
|
enum UNIT_TYPE {
|
|
UT_INT,
|
|
UT_FLOAT,
|
|
};
|
|
|
|
CMiniSliderEx( SLIDER_TYPE Type = ST_NORMAL, UNIT_TYPE UnitType = UT_INT );
|
|
virtual ~CMiniSliderEx();
|
|
|
|
void SetSliderType( SLIDER_TYPE Type ) { m_Type = Type; }
|
|
void SetUnitType( UNIT_TYPE Type ) { m_UnitType = Type; }
|
|
|
|
void SetRange( int nMin, int nMax ) { m_nRangeMin = nMin; m_nRangeMax = nMax; }
|
|
void SetRange( float fMin, float fMax ) { m_fRangeMin = fMin; m_fRangeMax = fMax; }
|
|
|
|
void SetRangeMin( int nValue ) { m_nRangeMin = nValue; }
|
|
void SetRangeMax( int nValue ) { m_nRangeMax = nValue; }
|
|
void SetRangeMin( float fValue ) { m_fRangeMin = fValue; }
|
|
void SetRangeMax( float fValue ) { m_fRangeMax = fValue; }
|
|
|
|
int GetRangeMin() { return m_nRangeMin; }
|
|
int GetRangeMax() { return m_nRangeMax; }
|
|
float GetRangeMinFloat() { return m_fRangeMin; }
|
|
float GetRangeMaxFloat() { return m_fRangeMax; }
|
|
|
|
int GetPos() { return m_nPos; }
|
|
int GetEndPos() { return m_nEndPos; }
|
|
float GetPosFloat() { return m_fPos; }
|
|
float GetEndPosFloat() { return m_fEndPos; }
|
|
|
|
void SetPos( int nValue );
|
|
void SetEndPos( int nValue );
|
|
|
|
void SetPos( float fValue );
|
|
void SetEndPos( float fValue );
|
|
|
|
int GetTicPos( int nIndex );
|
|
|
|
void SetSendRootParent( int nCount ) { m_nSendRootParent = nCount; }
|
|
|
|
protected:
|
|
afx_msg void OnPaint();
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
afx_msg LRESULT OnSetPos( WPARAM wParam, LPARAM lParam );
|
|
|
|
SLIDER_TYPE m_Type;
|
|
UNIT_TYPE m_UnitType;
|
|
union {
|
|
int m_nRangeMin;
|
|
float m_fRangeMin;
|
|
};
|
|
union {
|
|
int m_nRangeMax;
|
|
float m_fRangeMax;
|
|
};
|
|
union {
|
|
int m_nPos;
|
|
float m_fPos;
|
|
};
|
|
union {
|
|
int m_nEndPos;
|
|
float m_fEndPos;
|
|
};
|
|
|
|
bool m_bLButtonDown;
|
|
int m_nSendRootParent;
|
|
};
|
|
|
|
|