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

📄 jwlistctrl.h

📁 WinCE 下实现Listctrl自画
💻 H
字号:
#if !defined(AFX_JWListCtrl_H__7AC2BB02_A52A_11D6_94B5_0050FC20D215__INCLUDED_)
#define AFX_JWListCtrl_H__7AC2BB02_A52A_11D6_94B5_0050FC20D215__INCLUDED_

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

#define LCSB_CLIENTDATA 1
#define LCSB_NCOVERRIDE 2

#include "MEMDC.h"
#include "SkinVerticleScrollbar.h"
#include "SkinHead.h"




class CMyListCtrl : public CListCtrl 
{
// 构造函数
public:
	CMyListCtrl();

// 属性成员
public:
	int		m_nLinesPerRow;	
	int     m_nColumns, m_nRows ;
	CString m_CurPath;

	CFont			m_NewListFont;
	CFont           m_NewFont;

	CPalette m_pal;
	CBitmap  m_bitmap;
	CBitmap  m_IconBmp;
	CBitmap  m_BKBmp;
	int      m_cxBitmap, m_cyBitmap;
  	BOOL     m_bHeaderIsSubclassed;
    CHead    m_HeaderCtrl;

	BOOL SetBkImage(LPCTSTR lpszResourceName);//加载图片并初始化背景ListCtrl
	BOOL SetBkImage(UINT nIDResource);
	
    int m_nHighlight;
	
	CSkinVerticleScrollbar m_SkinVerticleScrollbar;

private:
	CBitmap *m_pbmCurrent;
	BOOL bMouseLbutton;

// 操作函数
public:
 
protected:
	CBitmap cBmp;
	CImageList	m_cImageListNormal;
	HIMAGELIST hList;
	CRect m_rect;


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CJWListCtrl
	protected:
	virtual void PreSubclassWindow();
    virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	//}}AFX_VIRTUAL

// Implementation
public:
	CString GetFileNameFromPath(LPCTSTR path);
	void PaintIconByFilePath(CDC *pDC,LPCRECT rcItem, CDC *pSrcDC,LPCTSTR pstrName);
	void SubclassHeaderControl();
	void OnInitialUpdate() ;
	void HideScrollBars(int Type, int Which=SB_BOTH);
	void PositionScrollBars();
	void InitVScroll();
	void LineDown();
	BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);	
	BOOL SetBkColor(COLORREF cr);	
	BOOL InsertImgTextItems( UINT ItemID , int ImgNumth , LPTSTR strItemText);

	virtual ~CMyListCtrl();

protected:
	//{{AFX_MSG(CJWListCtrl)
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
	afx_msg BOOL OnQueryNewPalette();
	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnSize(UINT nType, int cx, int cy);

	//}}AFX_MSG
	afx_msg LRESULT	OnSetFont(WPARAM wParam, LPARAM lParam);
	afx_msg void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
	afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	DECLARE_MESSAGE_MAP()
private:
	BOOL NCOverride;
	int Who;
};

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

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

#endif // !defined(AFX_JWListCtrl_H__7AC2BB02_A52A_11D6_94B5_0050FC20D215__INCLUDED_)

⌨️ 快捷键说明

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