📄 coollistctrl.h
字号:
#if !defined(AFX_COOLLISTCTRL_H__C3D8B3C9_9B72_484D_A269_CF83A2804BE6__INCLUDED_)
#define AFX_COOLLISTCTRL_H__C3D8B3C9_9B72_484D_A269_CF83A2804BE6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CoolListCtrl.h : header file
//设计人:张挺
/////////////////////////////////////////////////////////////////////////////
// CCoolListCtrl window
#include <Afxtempl.h>
class CCoolListCtrl : public CStatic
{
// Construction
public:
CCoolListCtrl();
private:
CBitmap *m_pButtonBmp;//图片排列顺序: 上上 下下 滑滑
CRect *m_pBkImageRect;//在背景图片中切取区域
CDC *m_pBackDC;//背景DC
CDC memDC;
CBitmap *pOldBmp;
CFont *pOldFont,*font;
CRect m_screenRect;
CBitmap TempBmp;
CBitmap *pOldTempBmp;
CDC m_MemDC;
CArray<LPTSTR,LPTSTR> m_pItemText;
void DrawSemiTransparentRect(CDC *pDstDC, CRect rtTran, COLORREF clrSrc);
public:
int slideWid;
private:
BOOL GetAppointedRect(UINT iFlag, CRect *pDestRect);//获得指定区域的矩形
INT GetCurSeledRect(CPoint point);//判断给入的点在哪一个区域
public:
int m_iCurFocusBtn;//当前焦点按纽,-1表示没有任何焦点FOCUS_LEFTBTN=0,FOCUS_UPBTN=1,FOCUS_DOWNBTN=2,FOCUS_SLIDER=3
private:
int m_iItemTotal;//条目总数
int m_iHead,m_iTail;//列表文字头和尾标志
float m_fSliderPercent;//滑块目前百分比0~1.0
private:
int m_SliderY;
CRect m_SliderRect;//滑块对应的矩形
BOOL m_bIsMouseDownFlag;//鼠标按下标志,主要用来控制滑竿上的滑块
void GetSliderRectFromPercent(float fPercent,CRect *pRect);//通过百分比获得小滑块的位置矩形
BOOL GetHeadTailFromPercent(float fPercent,int *iHead,int *iTail);//根据百分比得到头和尾
BOOL SetSliderPercent(int iHead);//通过头标志设置SLIDER的位置
int m_iCurTextID;
BOOL m_bOnceFlag;
void OnceCode(CDC *pDC);
void DrawOneScreen(CDC *pDC);
//文字颜色、选中文字颜色、半透颜色,选中半透颜色、边框线颜色
COLORREF m_TextColor,m_SeledTxtColor,m_TransColor,m_SeledTransColor,m_BorderColor;
public://留给使用本控件的人使用的所有方法
void Init(CDC *pBackDC,CRect *pRect,CRect *BkImageRect);
void InsertText(LPTSTR sText);
void InsertBmp(CBitmap *pBitmap);
//文字颜色、选中文字颜色、半透明色、选中半透明色、边线颜色
BOOL SetColor(COLORREF TxtColor,COLORREF SeledTxtColor,COLORREF TransColor,
COLORREF SeledTransColor,COLORREF BorderColor);//设置颜色
INT GetItemTotal();//获得条目总数
LPTSTR GetCurSeledStr();//获得当前选择的条目字符串
int GetCurSeledItem();//获得当前选中的条目
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCoolListCtrl)
public:
virtual BOOL DestroyWindow();
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CCoolListCtrl();
// Generated message map functions
protected:
//{{AFX_MSG(CCoolListCtrl)
afx_msg void OnPaint();
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
afx_msg LRESULT OnListFurlMsg(WPARAM wParam, LPARAM lParam);//控件收拢消息处理函数
DECLARE_MESSAGE_MAP()
};//WM_FURL_MSG
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_COOLLISTCTRL_H__C3D8B3C9_9B72_484D_A269_CF83A2804BE6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -