亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? memberdoc.cpp

?? 用于數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),雙向鏈表,并且用了MFC做圖形界面
?? CPP
字號(hào):

// memberDoc.cpp : implementation of the CMemberDoc class
//

#include "stdafx.h"
#include "telephonebook.h"

#include "memberDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
#define CHILD -1
#define PARENT 0
#define OVER 1
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMemberDoc

IMPLEMENT_DYNCREATE(CMemberDoc, CDocument)

BEGIN_MESSAGE_MAP(CMemberDoc, CDocument)
	//{{AFX_MSG_MAP(CMemberDoc)
	ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, OnUpdateFileSave)
	ON_COMMAND(ID_FILE_SAVE, OnFileSave)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMemberDoc construction/destruction

CMemberDoc::CMemberDoc()
{
	TRACE("Entering CMemberDoc constructor\n");
#ifdef _DEBUG
	afxDump.SetDepth(1);
#endif
}

CMemberDoc::~CMemberDoc()
{
}

BOOL CMemberDoc::OnNewDocument()
{
	TRACE("Entering CMemberDoc::OnNewDocument\n");
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CMemberDoc serialization

void CMemberDoc::Serialize(CArchive& ar)
{
    m_memberList.Serialize(ar);
	POSITION position=GetFirstViewPosition();
	CMemberView *pView=(CMemberView*)this->GetNextView(position);
	CTreeCtrl *m_treeCtrl=&pView->m_treeCtrl;
    CString strItemText;
	HTREEITEM hCurrent=NULL;
	HTREEITEM hTest=NULL;
    if (ar.IsStoring())
	{
	   
	   m_iNest=0;
	   if(m_treeCtrl->GetCount()<1)
		   return;
	   hCurrent=m_treeCtrl->GetRootItem();
	  
	   m_iDirection=CHILD;
	   while(m_iDirection!=OVER)
	   {
		   switch(m_iDirection)
		   {
		   case CHILD:
			   char szBuffer[256];
			   TV_ITEM item; 
			  
			   item.hItem=hCurrent;
			   item.mask=TVIF_TEXT|TVIF_CHILDREN;
			   item.pszText=szBuffer;
			   item.cchTextMax=255;
			   m_treeCtrl->GetItem(&item);
			   //save information
			  
			   ar<<m_iNest;
			   strItemText=szBuffer;
			   ar<<strItemText;
			   m_iDirection=CHILD;//get child item if possible
			   //get child item
			   if(m_treeCtrl->ItemHasChildren(hCurrent))
			   {
				   m_iNest=1; //next item is the child of this item
				   hCurrent=m_treeCtrl->GetChildItem(hCurrent);
				   m_iDirection=CHILD;
				   break;
			   }
			   else //no child item
			   {
				   //set base item nest if item has no child
				   m_iNest=0;
				   //Try next sibling item
				   hTest=m_treeCtrl->GetNextSiblingItem(hCurrent);
				   if(hTest!=NULL)
				   {
					   hCurrent=hTest;
					   m_iDirection=CHILD;
					   break;
				   }
				   else
				   {
					   //No slibing, goto parent
					   hTest=m_treeCtrl->GetParentItem(hCurrent);
					   if(hTest==NULL)  //no parent,no sibling
						   m_iDirection=OVER;
					   else
					   {
						   hCurrent=hTest;
						   m_iNest=-1;
						   m_iDirection=PARENT;
					   }
					   break;
				   }
			   }
		   case PARENT:
			   //Try next sibling item
			   hTest=m_treeCtrl->GetNextSiblingItem(hCurrent);
			   if(hTest!=NULL)
			   {
				   hCurrent=hTest;
				   m_iDirection=CHILD;
				   break;
			   }
			   else
			   {
				   //No slibing ,goto parent
				   hTest=m_treeCtrl->GetParentItem(hCurrent);
				   if(hTest==NULL) //no parent no sibling
				   {
					   m_iDirection=OVER;
					   break;
				   }
				   hCurrent=hTest;
				  m_iNest--;
				  m_iDirection=PARENT;
				  break;
			   }
		   }
	   }
	   ar<<32767;  //end of file
	}
	else
	{
		// TODO: add loading code here

		m_treeCtrl->DeleteAllItems();
	    
		ar>>m_iNest;
		if(m_iNest!=0)
		{
			
			return;
		}
		ar>>strItemText;
		hCurrent=m_treeCtrl->InsertItem(strItemText);
		while(hCurrent!=NULL)
		{
			ar>>m_iNest;
			if(m_iNest==32767) //end of file
				return;
			ar>>strItemText;
			if(m_iNest==1)
			{
				hCurrent=m_treeCtrl->InsertItem(strItemText,hCurrent);
				m_treeCtrl->EnsureVisible(hCurrent);
				continue;
			}
			while(m_iNest<0)
			{
				hCurrent=m_treeCtrl->GetParentItem(hCurrent);
				m_iNest++;
			}
			//get parent if root,set root
			hTest=m_treeCtrl->GetParentItem(hCurrent);
			if(hTest==NULL)
				hTest=TVI_ROOT;
			m_treeCtrl->InsertItem(strItemText,hTest);
             
		}
	}
	m_memberList.Serialize(ar);
}


/////////////////////////////////////////////////////////////////////////////
// CMemberDoc diagnostics

#ifdef _DEBUG
void CMemberDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CMemberDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
	dc<<"\n"<<m_memberList<<"\n";
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMemberDoc commands


void CMemberDoc::DeleteContents() 
{
	TRACE("Entering CMemberDoc::DeleteContents\n");

	while(m_memberList.GetHeadPosition()){
		delete m_memberList.RemoveHead();
	}
}

BOOL CMemberDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{	
	TRACE("Enterint CMemberDoc::OnOpenDocument\n");	
	if (!CDocument::OnOpenDocument(lpszPathName))
		return FALSE;
	

	return TRUE;
}

void CMemberDoc::OnUpdateFileSave(CCmdUI* pCmdUI) 
{
   pCmdUI->Enable(IsModified());	
}

void CMemberDoc::OnFileSave() 
{
	// TODO: Add your command handler code here
	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频一区二区三区| 亚洲色图欧美在线| 99在线热播精品免费| 亚洲va国产天堂va久久en| 久久久久久99久久久精品网站| 欧美日韩一区二区不卡| 国产成人免费在线| 日日夜夜免费精品| 亚洲人123区| 国产欧美精品一区二区色综合| 欧美一区二区视频在线观看2020| av一区二区三区黑人| 加勒比av一区二区| 午夜亚洲国产au精品一区二区| 国产精品免费免费| 亚洲精品一区二区三区99| 91精品久久久久久蜜臀| 欧美在线啊v一区| 99久久精品国产毛片| 国产精品综合av一区二区国产馆| 日韩中文字幕亚洲一区二区va在线| 国产精品乱码久久久久久| 精品国产一区二区在线观看| 欧美一区二区三区在线| 欧美精品一卡二卡| 色综合久久久久久久久久久| 成人污污视频在线观看| 国产麻豆欧美日韩一区| 另类小说视频一区二区| 日韩av中文字幕一区二区| 亚洲成人7777| 亚洲第一成人在线| 亚洲va国产天堂va久久en| 亚洲二区视频在线| 亚洲在线视频网站| 一区二区三区在线免费播放| 亚洲精品久久嫩草网站秘色| 亚洲欧美日本韩国| 一区二区激情小说| 亚洲二区在线观看| 午夜精品一区二区三区电影天堂| 亚洲国产精品麻豆| 丝袜国产日韩另类美女| 奇米影视在线99精品| 另类中文字幕网| 韩国精品主播一区二区在线观看| 黄色资源网久久资源365| 国产一区高清在线| 国产iv一区二区三区| 成人激情综合网站| 色天天综合久久久久综合片| 欧美午夜免费电影| 91精品国产综合久久福利软件| 欧美一区午夜精品| 久久先锋资源网| 国产精品无圣光一区二区| 亚洲精品美腿丝袜| 天天操天天干天天综合网| 免费美女久久99| 国产伦精品一区二区三区在线观看| 国产精品99久久久| 99r精品视频| 欧美日韩精品电影| 久久综合久久综合久久| 中文字幕中文字幕一区| 一区二区三区精品视频在线| 日韩精品久久久久久| 国产精品亚洲成人| 91美女片黄在线观看91美女| 欧美区一区二区三区| 2017欧美狠狠色| 亚洲色图视频免费播放| 日韩av不卡在线观看| 国产精品自在在线| 欧美曰成人黄网| 日韩一级视频免费观看在线| 国产欧美va欧美不卡在线| 亚洲综合成人网| 国产精品自拍毛片| 91久久精品一区二区三| 欧美不卡在线视频| ...av二区三区久久精品| 日韩av电影一区| 成人av电影在线网| 91麻豆精品91久久久久同性| 日本一区二区成人| 午夜精品福利一区二区三区蜜桃| 国产福利一区二区三区在线视频| 日本国产一区二区| 久久精品男人天堂av| 亚洲一级二级三级| 成人av在线播放网址| 欧美精品自拍偷拍| 日韩美女啊v在线免费观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 高清成人免费视频| 日韩欧美国产不卡| 亚洲一区二区三区在线播放| 国产sm精品调教视频网站| 欧美精品高清视频| 尤物av一区二区| 成人开心网精品视频| 日韩亚洲欧美成人一区| 一区二区三区欧美亚洲| 成人免费视频一区| 日韩欧美一区二区不卡| 亚洲国产成人高清精品| aaa亚洲精品一二三区| 26uuu国产电影一区二区| 亚洲国产毛片aaaaa无费看| 成人丝袜视频网| 久久久电影一区二区三区| 免费的国产精品| 欧美酷刑日本凌虐凌虐| 亚洲精品国产品国语在线app| 成人一区二区三区在线观看| 欧美成人a视频| 欧美96一区二区免费视频| 欧美巨大另类极品videosbest | 成人在线综合网| 精品免费国产一区二区三区四区| 天天综合日日夜夜精品| 欧美主播一区二区三区美女| 亚洲色图清纯唯美| 99riav一区二区三区| 国产精品人妖ts系列视频| 国产一区二区视频在线| 精品国产乱码91久久久久久网站| 日韩精品亚洲一区| 欧美精品高清视频| 日韩成人一区二区三区在线观看| 欧美精选一区二区| 日韩高清一区在线| 欧美精品久久99| 日本在线不卡视频| 日韩一区二区三区在线| 另类小说一区二区三区| 精品对白一区国产伦| 黄页视频在线91| 久久久www成人免费无遮挡大片| 精品一区二区久久| 久久婷婷国产综合精品青草| 狠狠色丁香婷综合久久| 国产女人18毛片水真多成人如厕 | 欧美主播一区二区三区| 亚洲福利视频一区二区| 欧美丰满美乳xxx高潮www| 婷婷久久综合九色综合绿巨人| 欧美日韩三级一区二区| 青青草国产成人av片免费| 欧美大白屁股肥臀xxxxxx| 精品在线一区二区| 国产欧美日韩视频一区二区| bt欧美亚洲午夜电影天堂| 亚洲欧美日韩精品久久久久| 欧美日韩国产中文| 日韩精品最新网址| 亚洲精品中文字幕在线观看| 欧美四级电影在线观看| 日韩av在线发布| 久久久综合精品| 97久久超碰精品国产| 亚洲动漫第一页| 精品国产欧美一区二区| 成人av网站在线观看免费| 洋洋av久久久久久久一区| 欧美一卡二卡在线观看| 国产a精品视频| 亚洲曰韩产成在线| 精品日韩成人av| 99久久免费精品高清特色大片| 一区二区三区鲁丝不卡| 日韩精品一区二区三区视频在线观看| 福利电影一区二区| 亚洲高清不卡在线观看| 久久久99精品久久| 欧美天堂亚洲电影院在线播放| 麻豆91精品91久久久的内涵| 国产精品网站在线观看| 666欧美在线视频| 粉嫩av一区二区三区| 日韩精品一级二级| 日本一区二区三区四区| 制服丝袜成人动漫| fc2成人免费人成在线观看播放| 日韩综合在线视频| 1024成人网色www| 精品福利在线导航| 色综合久久综合网97色综合| 久久国产尿小便嘘嘘尿| 一区二区三区不卡视频在线观看| www久久久久| 欧美色图一区二区三区| 东方aⅴ免费观看久久av| 午夜婷婷国产麻豆精品| 国产精品久久久久久久久果冻传媒| 欧美日产在线观看| 99国产精品久| 国产精品一线二线三线| 美女视频黄久久|