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

📄 qqlistview.h

📁 NOOPENQQ的源碼 NOOPENQQ是一個掛QQ的好軟件
💻 H
字号:
#if !defined(AFX_QQLISTVIEW_H__BDE496EA_125B_48DF_8000_11B2E538F104__INCLUDED_)
#define AFX_QQLISTVIEW_H__BDE496EA_125B_48DF_8000_11B2E538F104__INCLUDED_

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

#include <afxcview.h>
/////////////////////////////////////////////////////////////////////////////
// CQQListView view

class CQQListView : public CListView
{
public:
	CQQListView();           // protected constructor used by dynamic creation
	DECLARE_DYNCREATE(CQQListView)

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CQQListView)
	protected:
	virtual void OnDraw(CDC* pDC);      // overridden to draw this view
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CQQListView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

public:

	void InitListView(HWND hWnd);
	void SelectAll(){
		for(int count=GetItemCount()-1;count>=0;count--)
			SetItemState(count, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
	}
	CQQClientBase *GetListViewItem(int index);
	void SetItem(DWORD QQ,int subitem,LPCSTR lpText);
	int FindListViewItem(DWORD QQ);
	void OnSortBy(int iSubItem);

	void AddQQ(CQQClientBase *&lpQQClientBase);

	enum{COL_QQ=0,COL_STATUS,COL_LEVEL,COL_ONLINE,COL_SPACE};
	void SetColStatus(DWORD QQ,LPSTR lpText){SetItem(QQ,COL_STATUS,lpText);}
	void SetColLevel(DWORD QQ,LPSTR lpText){SetItem(QQ,COL_LEVEL,lpText);}
	void SetColOnline(DWORD QQ,LPSTR lpText){SetItem(QQ,COL_ONLINE,lpText);}
	void SetColSpace(DWORD QQ,LPSTR lpText){SetItem(QQ,COL_SPACE,lpText);}


	int GetItemCount(){
		return (int)SendMessage(LVM_GETITEMCOUNT);
	}
	BOOL SetItemState(int nItem, UINT nState, UINT nStateMask){
		LVITEM lvi = { 0 };
		lvi.state = nState;
		lvi.stateMask = nStateMask;
		return (BOOL)SendMessage(LVM_SETITEMSTATE, nItem, (LPARAM)&lvi);
	}
	DWORD SetExtendedListViewStyle(DWORD dwExStyle, DWORD dwExMask = 0){
		return (DWORD)SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, dwExMask, dwExStyle);
	}
	typedef struct TAddColumnsStruct{
		LPTSTR pszText;
		int fmt;
		int cx;
	}*PAddColumnsStruct;
	int InsertColumn(int nCol, const LVCOLUMN* pColumn){
		return (int)SendMessage(LVM_INSERTCOLUMN, nCol, (LPARAM)pColumn);
	}
	void AddColumns(PAddColumnsStruct ColArray,int Num,int StartNum=0){
		LVCOLUMN lc;
		lc.mask=LVCF_TEXT | LVCF_WIDTH | LVCF_FMT;
		for(int p=0;p<Num;p++){
			lc.pszText=ColArray[p].pszText;
			lc.fmt=ColArray[p].fmt;
			lc.cx=ColArray[p].cx;
			InsertColumn(p+StartNum,&lc);
		}
	}
	DWORD_PTR GetItemData(int nItem){
		LVITEM lvi = { 0 };
		lvi.iItem = nItem;
		lvi.mask = LVIF_PARAM;
		BOOL bRet = (BOOL)SendMessage(LVM_GETITEM, 0, (LPARAM)&lvi);
		return (DWORD_PTR)(bRet ? lvi.lParam : NULL);
	}
	BOOL SetItem(const LVITEM* pItem){
		return (BOOL)SendMessage(LVM_SETITEM, 0, (LPARAM)pItem);
	}
	int InsertItem(const LVITEM* pItem){
		return (int)SendMessage(LVM_INSERTITEM, 0, (LPARAM)pItem);
	}
	BOOL SetColumn(int nCol, const LVCOLUMN* pColumn){
		return (BOOL)SendMessage(LVM_SETCOLUMN, nCol, (LPARAM)pColumn);
	}
	void SetSelectedColumn(int nColumn){
		#define LVM_SETSELECTEDCOLUMN         (LVM_FIRST + 140)
		SendMessage(LVM_SETSELECTEDCOLUMN, nColumn);
	}
	BOOL SortItemsEx(PFNLVCOMPARE pfnCompare, LPARAM lParamSort){
		return (BOOL)SendMessage(LVM_SORTITEMSEX, (WPARAM)lParamSort, (LPARAM)pfnCompare);
	}
	UINT GetItemState(int nItem, UINT nMask){
		return (UINT)SendMessage(LVM_GETITEMSTATE, nItem, nMask);
	}
	BOOL DeleteItem(int nItem){
		return (BOOL)SendMessage(LVM_DELETEITEM, nItem);
	}

	// Generated message map functions
protected:
	//{{AFX_MSG(CQQListView)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

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

#endif // !defined(AFX_QQLISTVIEW_H__BDE496EA_125B_48DF_8000_11B2E538F104__INCLUDED_)

⌨️ 快捷键说明

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