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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? typtrmap.cpp

?? 不錯的程序
?? CPP
字號:
// typtrmap.cpp : implementation file
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include "stdafx.h"
#include "collect.h"
#include "colledoc.h"
#include "typtrmap.h"

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTypedPtrMapView

IMPLEMENT_DYNCREATE(CTypedPtrMapView, CFormView)

CTypedPtrMapView::CTypedPtrMapView()
	: CFormView(CTypedPtrMapView::IDD)
{
	//{{AFX_DATA_INIT(CTypedPtrMapView)
	m_strKey = "";
	m_int = 0;
	m_float = 0.0f;
	m_str = "";
	//}}AFX_DATA_INIT
}

CTypedPtrMapView::~CTypedPtrMapView()
{
}

void CTypedPtrMapView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();

	// Copy all of the assocations from the document's CTypedPtrMap
	// to the listbox.
	CString strKey;
	CMyObject* pMyObject;
	m_ctlList.ResetContent();
	CMapStringToMyObject& map = GetDocument()->m_mapStringToMyObject;
	POSITION pos = map.GetStartPosition();
	while (pos != NULL)
	{
		map.GetNextAssoc(pos, strKey, pMyObject);
		AddMapEntryToListBox(strKey, pMyObject);
	}
}

void CTypedPtrMapView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTypedPtrMapView)
	DDX_Control(pDX, IDC_LIST, m_ctlList);
	DDX_Text(pDX, IDC_KEY, m_strKey);
	DDX_Text(pDX, IDC_INT, m_int);
	DDX_Text(pDX, IDC_FLOAT, m_float);
	DDX_Text(pDX, IDC_STRING, m_str);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTypedPtrMapView, CFormView)
	//{{AFX_MSG_MAP(CTypedPtrMapView)
	ON_BN_CLICKED(IDC_ADD_OR_UPDATE, OnAddOrUpdate)
	ON_BN_CLICKED(IDC_FIND, OnFind)
	ON_BN_CLICKED(IDC_REMOVE, OnRemove)
	ON_BN_CLICKED(IDC_REMOVE_ALL, OnRemoveAll)
	ON_LBN_SELCHANGE(IDC_LIST, OnSelChangeList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()



/////////////////////////////////////////////////////////////////////////////
// CTypedPtrMapView diagnostics

#ifdef _DEBUG
void CTypedPtrMapView::AssertValid() const
{
	CFormView::AssertValid();
}

void CTypedPtrMapView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

CCollectDoc* CTypedPtrMapView::GetDocument() // non-debug version is inline
{
	return STATIC_DOWNCAST(CCollectDoc, m_pDocument);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTypedPtrMapView internal implementation

CString CTypedPtrMapView::FormatListBoxEntry(CString& strKey, CMyObject* pMyObject)
{
	CString strListBoxEntry = strKey;
	strListBoxEntry += _T(" >> ");
	CString strMyObject;
	pMyObject->FormatMyObject(strMyObject);
	strListBoxEntry += strMyObject;
	return strListBoxEntry;
}

int CTypedPtrMapView::FindKeyInListBox(CString& strKey)
{
	CMyObject* pMyObject;
	if (GetDocument()->m_mapStringToMyObject.Lookup(strKey, pMyObject) != TRUE)
		return LB_ERR;
	CString strListBoxEntry = FormatListBoxEntry(strKey, pMyObject);
	return m_ctlList.FindString(-1, strListBoxEntry);
}

void CTypedPtrMapView::AddMapEntryToListBox(CString& strKey, CMyObject* pMyObject)
{
	CString strListBoxEntry = FormatListBoxEntry(strKey, pMyObject);
	m_ctlList.AddString(strListBoxEntry);
}

CMyObject* CTypedPtrMapView::ConstructMyObjectFromView()
{
	CMyObject* pMyObject = new CMyObject;
	pMyObject->m_int = m_int;
	pMyObject->m_float = m_float;
	pMyObject->m_str = m_str;
	return pMyObject;
}

void CTypedPtrMapView::UpdateViewFromMyObject(CMyObject* pMyObject)
{
	m_int = pMyObject->m_int;
	m_float = pMyObject->m_float;
	m_str = pMyObject->m_str;
	UpdateData(FALSE);  // update the value found in the map lookup
}


/////////////////////////////////////////////////////////////////////////////
// CTypedPtrMapView message handlers

void CTypedPtrMapView::OnAddOrUpdate()
{
	if (UpdateData() != TRUE)
		return;

	// Add or replace entry in the listbox
	int nSel = FindKeyInListBox(m_strKey);
	if (nSel != LB_ERR)
		m_ctlList.DeleteString(nSel);
	CMyObject* pMyObject = ConstructMyObjectFromView();
	AddMapEntryToListBox(m_strKey, pMyObject);

	// Add or update association in the CTypedPtrMap
	CMyObject* pTemp = GetDocument()->m_mapStringToMyObject[m_strKey];
	delete pTemp; // delete old value
	GetDocument()->m_mapStringToMyObject[m_strKey] = pMyObject;
}

void CTypedPtrMapView::OnFind()
{
	if (UpdateData() != TRUE)
		return;

	CMyObject* pMyObject;
	if (GetDocument()->m_mapStringToMyObject.Lookup(m_strKey, pMyObject) != TRUE)
	{
		AfxMessageBox(IDS_KEY_NOT_FOUND);
		return;
	}

	UpdateViewFromMyObject(pMyObject);
}

void CTypedPtrMapView::OnRemove()
{
	if (UpdateData() != TRUE)
		return;

	CMyObject* pMyObject;
	CMapStringToMyObject& map = GetDocument()->m_mapStringToMyObject;
	if (map.Lookup(m_strKey, pMyObject) != TRUE)
	{
		AfxMessageBox(IDS_KEY_NOT_FOUND);
		return;
	}

	if (m_int != pMyObject->m_int
		|| m_float != pMyObject->m_float
		|| m_str != pMyObject->m_str)
	{
		UpdateViewFromMyObject(pMyObject);
		AfxMessageBox(IDS_KEY_NOT_FOUND_CHOOSE_REMOVE_AGAIN);
		return;
	}

	// Remove assocation from the listbox
	int nSel = FindKeyInListBox(m_strKey);
	ASSERT(nSel != LB_ERR);
	m_ctlList.DeleteString(nSel);

	// Remove the association from the CTypedPtrMap
	map.RemoveKey(m_strKey);

	// Delete the CMyObject
	delete pMyObject;
}

void CTypedPtrMapView::OnRemoveAll()
{
	CCollectDoc* pDoc = GetDocument();
	POSITION pos = pDoc->m_mapStringToMyObject.GetStartPosition();
	while (pos != NULL)
	{
		CString str;
		CMyObject* pMyObject;
		pDoc->m_mapStringToMyObject.GetNextAssoc(pos, str, pMyObject);
		delete pMyObject;
	}
	pDoc->m_mapStringToMyObject.RemoveAll();

	m_ctlList.ResetContent();
}

void CTypedPtrMapView::OnSelChangeList()
{
	// Update the "key" field to reflect the new selection in the listbox.
	CString str;
	m_ctlList.GetText(m_ctlList.GetCurSel(), str);
	m_strKey.Empty();
	LPCTSTR lpsz = str;
	while (*lpsz != ' ' || *(lpsz+1) != '>' || *(lpsz+2) != '>')
	{
		m_strKey += *lpsz;
		lpsz++;
	}
	UpdateData(FALSE);

	// Now that the key field has been updated to reflect the listbox selection,
	// find the string in the map as though the user had hit the Find button.
	OnFind();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月婷婷综合在线| 国产一区二区毛片| 国产乱子伦视频一区二区三区 | av激情成人网| 日韩精品自拍偷拍| 亚洲精品成人a在线观看| 国产成人一区二区精品非洲| 在线成人午夜影院| 一区二区久久久| 成人福利视频在线看| 欧美成va人片在线观看| 亚洲成人在线网站| 大尺度一区二区| 2024国产精品| 免费黄网站欧美| 在线成人小视频| 天天综合网 天天综合色| 日本伦理一区二区| 18成人在线视频| 东方欧美亚洲色图在线| 久久欧美中文字幕| 久久精品国内一区二区三区| 欧美日韩成人一区| 亚洲成av人影院在线观看网| 日本高清视频一区二区| 伊人一区二区三区| 91麻豆精品国产91久久久使用方法| 国产亚洲一区字幕| 寂寞少妇一区二区三区| 日韩欧美国产综合在线一区二区三区| 亚洲午夜精品久久久久久久久| 色哟哟日韩精品| 亚洲乱码日产精品bd| 色天天综合色天天久久| 亚洲精品自拍动漫在线| 91麻豆swag| 亚洲一区二区成人在线观看| 在线免费不卡电影| 亚洲香肠在线观看| 欧美日韩另类一区| 日本成人超碰在线观看| 欧美va亚洲va在线观看蝴蝶网| 九九九精品视频| 久久免费精品国产久精品久久久久| 国产综合久久久久久鬼色| 久久久久国产精品人| 成人深夜在线观看| 亚洲精选一二三| 91精品视频网| 国产夫妻精品视频| 亚洲精品乱码久久久久久| 欧美日韩成人高清| 国产乱一区二区| 亚洲同性gay激情无套| 欧美天堂亚洲电影院在线播放| 日韩高清不卡一区| 国产丝袜在线精品| 91成人看片片| 精品一区二区三区影院在线午夜| 国产欧美一区二区在线| 色老汉一区二区三区| 青青国产91久久久久久| 中文字幕二三区不卡| 欧洲精品视频在线观看| 国产综合久久久久影院| 亚洲人成精品久久久久久| 欧美精品色综合| 国产成人免费高清| 亚洲亚洲人成综合网络| 26uuu另类欧美亚洲曰本| 99精品视频免费在线观看| 日本一不卡视频| 国产精品二区一区二区aⅴ污介绍| 欧美色综合影院| 国产成人一级电影| 三级久久三级久久| 国产精品美女久久福利网站| 宅男在线国产精品| 91亚洲国产成人精品一区二区三| 美女视频黄免费的久久 | 国产精品1区2区| 亚洲一卡二卡三卡四卡五卡| 国产日韩欧美精品一区| 欧美日韩一级二级| 99久久精品国产麻豆演员表| 久久99久久99小草精品免视看| 一区二区三区四区乱视频| 国产亚洲精品7777| 日韩你懂的电影在线观看| 91国产视频在线观看| 国产成人亚洲综合色影视| 日本一不卡视频| 亚洲国产精品久久不卡毛片| 国产片一区二区| 26uuu国产电影一区二区| 欧美美女网站色| 欧美三级日韩在线| 欧美在线一二三四区| 99re热这里只有精品免费视频| 国产原创一区二区| 青青国产91久久久久久 | 国产一区二区网址| 日韩av电影免费观看高清完整版| 亚洲精品日韩专区silk| 国产精品超碰97尤物18| 国产精品视频看| 亚洲国产精华液网站w| 久久亚洲一区二区三区明星换脸| 欧美一区二区黄| 91精品国产手机| 欧美丰满少妇xxxbbb| 欧美另类一区二区三区| 精品婷婷伊人一区三区三| av动漫一区二区| 91亚洲精品一区二区乱码| av高清久久久| 色播五月激情综合网| 欧美亚洲综合色| 欧美日韩dvd在线观看| 欧美日韩1区2区| 欧美一区二区免费视频| 欧美成人女星排名| 久久久美女艺术照精彩视频福利播放 | 欧美日韩中文字幕精品| 欧美日韩aaa| 日韩欧美一二三区| 久久久99免费| 国产精品久久久久久亚洲伦 | 亚洲狠狠爱一区二区三区| 亚洲影院理伦片| 日本三级韩国三级欧美三级| 久草在线在线精品观看| 国产福利精品导航| 99国内精品久久| 欧美日韩亚洲高清一区二区| 日韩女优电影在线观看| 国产人成亚洲第一网站在线播放 | 亚洲精品videosex极品| 视频一区二区三区在线| 精品在线免费观看| 成人的网站免费观看| 在线观看日韩国产| 精品美女被调教视频大全网站| 中文字幕欧美日韩一区| 亚洲一区欧美一区| 精油按摩中文字幕久久| 91啪亚洲精品| 欧美成人综合网站| 亚洲天堂精品在线观看| 日本va欧美va瓶| 97久久精品人人做人人爽| 制服.丝袜.亚洲.另类.中文| 国产精品免费丝袜| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产mv日韩mv欧美| 欧美猛男gaygay网站| 欧美经典一区二区三区| 日日夜夜精品视频天天综合网| 国精产品一区一区三区mba视频| 色综合久久99| 久久免费美女视频| 日本中文字幕一区二区视频| 夫妻av一区二区| 日韩一区二区电影| 亚洲综合一区二区三区| 高清成人免费视频| 88在线观看91蜜桃国自产| 中文字幕一区二区三中文字幕| 日韩影院在线观看| 色综合网站在线| 国产欧美日韩不卡免费| 日本va欧美va精品发布| 日本韩国精品在线| 中文字幕av在线一区二区三区| 免费国产亚洲视频| 欧美猛男男办公室激情| 亚洲免费伊人电影| 精品视频资源站| 国产精品成人免费在线| 国产精品原创巨作av| 欧美一级片在线观看| 亚洲成精国产精品女| 色噜噜久久综合| 亚洲欧美一区二区三区孕妇| 福利一区在线观看| 久久久久国产精品麻豆ai换脸 | 91精品国产免费| 亚洲国产精品久久久久婷婷884 | 91精品国产综合久久精品麻豆| 一片黄亚洲嫩模| 色欧美88888久久久久久影院| 国产精品福利一区二区| 国产成人亚洲精品青草天美| 欧美变态口味重另类| 欧美a一区二区| 日韩一区二区高清| 久久99精品国产91久久来源| 日韩精品一区二区在线| 久久精品国产免费| 久久综合久久综合九色|