tsslider.h

来自「深入剖析Visual C++编程技术及应用实例」· C头文件 代码 · 共 83 行

H
83
字号
#if !defined(AFX_TSSLIDER_H__5B061F4D_6C08_4F29_B6F4_D2C0BBA42783__INCLUDED_)
#define AFX_TSSLIDER_H__5B061F4D_6C08_4F29_B6F4_D2C0BBA42783__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// TsSlider.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CTsSlider window
typedef struct
{
	BOOL		bHorz;			//是为水平拉杆,否为竖直拉杆
	int			nMaxPos;		//拉杆最大位置
	int			nMinPos;		//拉杆最小位置
	BOOL		bBack;			//是否有背景
	CString		szBackImage;	//背景图片
	CString		szBlockImage;	//滑块图片
	COLORREF	clrBack;		//背景颜色
	COLORREF	clrBlock;		//滑块颜色
	COLORREF	clrStaff;		//拉杆颜色
	CRect		rcPos;			//窗口位置
}SliderFormat;					//滑动条格式


class CTsSlider : public CWnd
{
// Construction
public:
	CTsSlider();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTsSlider)
	//}}AFX_VIRTUAL

// Implementation
public:
	void DrawGround(CDC *pDC);
	void SetStyle(SliderFormat& fmt);	//设定属性
	long GetValue();
	void SetValue(long nValue);
	void SetCurPos(int nPos);			//设定当前位置
	void SetValueRange(long nMin,long nMax);	//设定滑动范围
	void SetStyle(BOOL bHorz);	//设定垂直或者水平滚动
	void SetPosRange(int nMin,int nMax);	//
	virtual ~CTsSlider();

	// Generated message map functions
protected:
	//{{AFX_MSG(CTsSlider)
	afx_msg void OnPaint();
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	SliderFormat m_fmtSlider;	//属性
	PBYTE m_pBackGround;		//背景图像数组
	PBYTE m_pBlock;				//滑块图像数组
	int m_nCurPos;				//当前位置
	long m_nMaxVal;				//最大值
	long m_nMinVal;				//最小值
	long m_nCurVal;				//当前值
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TSSLIDER_H__5B061F4D_6C08_4F29_B6F4_D2C0BBA42783__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?