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

📄 listctrlbase.cpp

📁 用户管理系统
💻 CPP
字号:
// ListCtrlBase.cpp : implementation file
//

#include "stdafx.h"
//#include "Kvip.h"
#include "ListCtrlBase.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CListCtrlBase

CListCtrlBase::CListCtrlBase()
{
}

CListCtrlBase::~CListCtrlBase()
{
}


BEGIN_MESSAGE_MAP(CListCtrlBase, CListCtrl)
	//{{AFX_MSG_MAP(CListCtrlBase)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CListCtrlBase message handlers
int CListCtrlBase::InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
{
	return CListCtrl::InsertColumn(nCol, lpszColumnHeading, nFormat, nWidth, nSubItem);
}
BOOL CListCtrlBase::DeleteAllItems()
{
	return CListCtrl::DeleteAllItems();
}
BOOL CListCtrlBase::SetItemText(int nItem, int nSubItem, LPCTSTR lpszText)
{
	return CListCtrl::SetItemText(nItem, nSubItem, lpszText);
}
int CListCtrlBase::InsertItem( int nItem, LPCTSTR lpszItem )
{
    return CListCtrl::InsertItem(nItem, lpszItem );
}
BOOL CListCtrlBase::DeleteItem(int iItem)
{
	return CListCtrl::DeleteItem(iItem);
}
int CListCtrlBase::GetSelected()
{
  int nItem = -1;
  POSITION pos = CListCtrl::GetFirstSelectedItemPosition();
  if(pos)	nItem = CListCtrl::GetNextSelectedItem(pos);
  return nItem;

}

int CListCtrlBase::GetSubItem(LPCSTR pItemName)
{
  CString sName;
  char buf[129];
  HDITEM Item;
  CHeaderCtrl *pHeader = GetHeaderCtrl();
  if(pHeader == NULL) return -1;
  for(int i = 0; i < pHeader->GetItemCount( ) ; i++)
  {
	 memset(&Item, 0, sizeof(HDITEM));
	 Item.mask = HDI_TEXT;
	 Item.pszText = buf;
	 Item.cchTextMax = 128;
	 pHeader->GetItem(i, &Item);
	 sName = Item.pszText;
	 sName.TrimLeft(); sName.TrimRight();
	 if (sName == pItemName) return i;
  }
  return -1;
}

BOOL CListCtrlBase::UnSelectItem(int nItem)
{
	return SetItemState(nItem, 0, LVIS_SELECTED);
}
BOOL CListCtrlBase::MoveToBottom(int nItem)
{
	return MoveDown(nItem, GetItemCount() - nItem - 1);
}
BOOL CListCtrlBase::MoveToTop(int nItem)
{
//	return MoveUp(nItem, nItem);
   SCROLLINFO  si;	
   WPARAM wParam;
   si.cbSize = sizeof (si) ;
   si.fMask  = SIF_ALL ;
   CListCtrlBase::GetScrollInfo(SB_VERT, &si);
   if (si.nMax < (int)si.nPage) return true;
   while(nItem < (int)si.nPos)
   {
	wParam = MAKEWPARAM(SB_LINEUP, 1);
	SendMessage(WM_VSCROLL, wParam, (LPARAM)(HWND)this);
	nItem++;
   }//下滚
   if(nItem >= (int)(si.nPos + si.nPage)) nItem += si.nPage;
   while(nItem >= (int)(si.nPos + si.nPage))
   {
	wParam = MAKEWPARAM(SB_LINEDOWN, 1);
	SendMessage(WM_VSCROLL, wParam, (LPARAM)(HWND)this);
	nItem--;
   }//上滚
   return true;
}
BOOL CListCtrlBase::SelectItem(int nItem)
{
	return SetItemState(nItem, LVIS_SELECTED, LVIS_SELECTED);
}
BOOL CListCtrlBase::MoveUp(int nItem, int nCount)
{	
	if (nCount < 0)
		return MoveDown(nItem, 0 - nCount);
/*
	for (int i = nItem; i > nItem - nCount; i--)
	{
		if (!SwapItems(i, i - 1))
			return FALSE;
	}
*/
	return TRUE;
}
BOOL CListCtrlBase::MoveDown(int nItem, int nCount)
{
	if (nCount < 0)
		return MoveUp(nItem, 0 - nCount);
/*
	for (int i = nItem; i < nItem + nCount; i++)
	{
		if (!SwapItems(i, i + 1))
			return FALSE;
	}
*/
	return TRUE;
}

⌨️ 快捷键说明

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