⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hotlistctrl.h

📁 A transparent list control on winCE
💻 H
字号:
#if !defined(AFX_HOTLISTCTRL_H__C11E5760_16E5_11D4_9FA9_0030DB0011C6__INCLUDED_)
#define AFX_HOTLISTCTRL_H__C11E5760_16E5_11D4_9FA9_0030DB0011C6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// HotListCtrl.h : header file
//



/////////////////////////////////////////////////////////////////////////////
// CHotListCtrl window

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

// Attributes
public:


protected:

	//static int m_nDefaultScrollHeight;
	int m_nRowHeight;
	int m_nRows;
	int m_nFirstVisibleItem; // the first row to be displayed
	int m_nTopScrollHeight;
	int m_nBottomScrollHeight;
	int m_nSelectedItem;
	int m_nHotItem;
	int m_nPressedItem;
	
	// arrays to hold the items
	CStringArray m_StringArray;
	//CUIntArray m_ToolTipArray;
	CUIntArray m_DataArray;

// Operations
public:
	virtual BOOL Create(DWORD dwStyle, CRect rect, CWnd* pWndParent, UINT nID);
	void Init(int fontSize,int RowHeight);
	void GetWindowRect(LPRECT lpRect);
	void AddItem(CString strText, UINT nToolTipID, DWORD dwData);
	void AddItem(UINT nIDText, UINT nToolTipID, DWORD dwData);
	int GetCurSel();
	DWORD GetItemData(int nItem);
	CString GetItemText(int nItem);
	int GetItemCount();

	//void SetScrollTips(UINT nIDScrollUp, UINT nIDScrollDown);

protected:
	void Draw(CDC* pDeviceDC);
	void DrawBorder(CDC* pDC);
	void DrawHighlightRect(CDC* pDC, CRect* rc, 
		COLORREF rgbTopLeft, COLORREF rgbBottomRight);
	BOOL GetItemRect(LPRECT lpRect, int nItem);
	BOOL DrawItem(CDC* pDC, int nItem, BOOL bHighlighted, BOOL bSelected);
	//void DrawScrollBar(CDC* pDC, BOOL bTop, 
	//	BOOL bHighlighted, BOOL bPressed);
	//void DrawUpTriangle(CDC* pDC, int x, int y);
	//void DrawDownTriangle(CDC* pDC, int x, int y);
	int HitTest(CPoint pt);
	


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CHotListCtrl)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CHotListCtrl();

	// Generated message map functions
protected:
	//{{AFX_MSG(CHotListCtrl)
	afx_msg void OnDestroy();
	afx_msg void OnPaint();
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	//afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnMove(int x, int y);
	//afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG
    DECLARE_MESSAGE_MAP()

private:
	CDC			m_dcBk;
	CBitmap		m_bmpBk;
	CBitmap*	m_pbmpOldBk;

	CFont		m_Font;		
	HBITMAP		m_hBitmapUp;
	HBITMAP		m_hBitmapDown;
	HBITMAP		m_hBitmapMask;
	DWORD		m_bmWidth;
	DWORD		m_bmHeight;
	CBitmap     m_Bmp;
	BOOL        m_HasBackGround;
public:
	void OnScrollUp();
	void OnScrollDown();
	BOOL SetItemBkgnd(HBITMAP hBitmapUp,HBITMAP hBitmapDown,COLORREF colorKey);
	void PaintBk(CDC* pDC,CRect &rect);
	BOOL SetBk(CDC* pDC);
	void DrawTransparent(BOOL bRepaint);
	HBITMAP CreateBitmapMask(HBITMAP hSourceBitmap,
		                     DWORD dwWidth,
							 DWORD dwHeight,
							 COLORREF crTransColor);


	
};

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

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

#endif // !defined(AFX_HOTLISTCTRL_H__C11E5760_16E5_11D4_9FA9_0030DB0011C6__INCLUDED_)

⌨️ 快捷键说明

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