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

📄 menuit~1.cpp

📁 vc++游戏编程导学源码。漂亮的界面
💻 CPP
字号:
// MenuItemList.cpp: implementation of the CMenuItemList class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MenuItemList.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMenuItemList::CMenuItemList()
{
   m_nCount=0;
   m_pLastItem= NULL;
   m_pHead=NULL;
   m_pTail=NULL;
}

CMenuItemList::~CMenuItemList()
{
  if( m_nCount !=0 )
	  RemoveAllItems();
}

void CMenuItemList::Add(MenuItem mItem)
{
	MenuItem * pItem=new MenuItem;
      pItem->m_iIndex =m_nCount +1;
	  pItem->m_strMenuText = mItem.m_strMenuText ;
      pItem->m_iID = mItem.m_iID ;
//	  pItem->m_MenuStyle =mItem.m_MenuStyle ;
	  pItem->m_iImageID  =mItem.m_iImageID ;

      pItem->m_pLastItem = m_pLastItem;

	  if (NULL== m_pLastItem )  // the head 
		   m_pHead=pItem;
	  else
	       m_pLastItem->m_pNextItem = pItem;

       m_pLastItem = pItem;
	   m_pTail=pItem;
	   m_nCount++;
}

void CMenuItemList::Remove( unsigned int nIndex)
{
}

CString CMenuItemList::FindItemTextByID( unsigned int nID)
{
	MenuItem * pItem;
       pItem=m_pHead;

     CString str1;
      str1="";

	while(pItem->m_pNextItem != NULL)
	{
       if(nID == pItem->m_iID   )
		   return pItem->m_strMenuText ;
	   
	   if( pItem->m_pNextItem == NULL ) break; 
	   pItem= pItem->m_pNextItem ;
	}

	return str1;
}

void CMenuItemList::RemoveAllItems()
{
   while( m_nCount) RemoveTail();
}

void CMenuItemList::RemoveTail()
{
   if( m_nCount == 0) return;

   MenuItem * pNewTail=NULL;

   if ( m_pTail != m_pHead)
   {
       pNewTail= m_pTail->m_pLastItem ;
       pNewTail->m_pNextItem =NULL;
   }

    delete m_pTail;

	m_pTail=pNewTail;

	pNewTail=NULL;

	m_nCount--;
}

unsigned int CMenuItemList::FindItemIndexByID(unsigned int nID)
{
  	MenuItem * pItem;
       pItem=m_pHead;

	while(pItem->m_pNextItem != NULL)
	{
       if(nID == pItem->m_iID   )
		   return pItem->m_iIndex  ;
	  
	   if( pItem->m_pNextItem == NULL ) break; 
	   pItem= pItem->m_pNextItem ;
	}

	return 0;
}

int CMenuItemList::FindItemImageByID(unsigned int nID)
{
  	MenuItem * pItem;
       pItem=m_pHead;


	while(pItem->m_pNextItem != NULL)
	{
       if(nID == pItem->m_iID   )
		   return pItem->m_iImageID     ;
	  
	   if( pItem->m_pNextItem == NULL ) break; 
	   pItem= pItem->m_pNextItem ;
	}

	return -1;
}

⌨️ 快捷键说明

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