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

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

?? typlstvw.cpp

?? 不錯(cuò)的程序
?? CPP
字號(hào):
// typlstvw.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 "typlstvw.h"
#include "resource.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTypedPtrListView

IMPLEMENT_DYNCREATE(CTypedPtrListView, CFormView)

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

CTypedPtrListView::~CTypedPtrListView()
{
}

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

	// Copy all of the strings from the document's CTypedPtrList
	// to the listbox.
	m_ctlList.ResetContent();
	CMyStructList& mystructList = GetDocument()->m_mystructList;
	POSITION pos = mystructList.GetHeadPosition();
	while (pos != NULL)
	{
		CMyStruct* pMyStruct = mystructList.GetNext(pos);
		AddMyStructToListBox(pMyStruct);
	}
}

void CTypedPtrListView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTypedPtrListView)
	DDX_Control(pDX, IDC_LIST, m_ctlList);
	DDX_Text(pDX, IDC_FLOAT, m_float);
	DDX_Text(pDX, IDC_INT, m_int);
	DDX_Text(pDX, IDC_STRING, m_str);
	//}}AFX_DATA_MAP
	if (pDX->m_bSaveAndValidate && _tcschr(m_str, ' ') != NULL)
	{
		AfxMessageBox(IDS_BLANK_CHARS_NOT_ALLOWED);
		pDX->Fail();
	}
}


BEGIN_MESSAGE_MAP(CTypedPtrListView, CFormView)
	//{{AFX_MSG_MAP(CTypedPtrListView)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_UPDATE, OnUpdate)
	ON_BN_CLICKED(IDC_REMOVE, OnRemove)
	ON_BN_CLICKED(IDC_REMOVE_ALL, OnRemoveAll)
	ON_LBN_SELCHANGE(IDC_LIST, OnSelChangeList)
	ON_BN_CLICKED(IDC_INSERT_BEFORE, OnInsertBefore)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CTypedPtrListView diagnostics

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

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

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

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CmystructListView internal implementation

CMyStruct* CTypedPtrListView::FindMyStruct(int& nSel, POSITION& pos)
{
	nSel = m_ctlList.GetCurSel();
	if (nSel == LB_ERR)
	{
		AfxMessageBox(IDS_SELECT_ENTRY);
		return NULL;
	}

	// The CMyStruct pointer was saved as the listbox entry's data item.
	CMyStruct* pMyStruct = (CMyStruct*)m_ctlList.GetItemDataPtr(nSel);

	// Find the CMyStruct pointer in the CTypedPtrList.
	pos = GetDocument()->m_mystructList.Find(pMyStruct);

	// If the CMyStruct is displayed in the listbox, it should also be
	// found in the CTypedPtrList.
	ASSERT(pos != NULL);

	return pMyStruct;
}

void CTypedPtrListView::AddMyStructToListBox(CMyStruct* pMyStruct, int nSel)
{
	// Add new CMyStruct to the listbox.
	CString str;
	pMyStruct->FormatMyStruct(str);
	if (nSel == -1)
		nSel = m_ctlList.AddString(str);
	else
		m_ctlList.InsertString(nSel, str);

	// Save the CMyStruct pointer as the listbox entry's "data item".
	m_ctlList.SetItemDataPtr(nSel, pMyStruct);
}


/////////////////////////////////////////////////////////////////////////////
// CTypedPtrListView message handlers

void CTypedPtrListView::OnAdd()
{
	if (UpdateData() != TRUE)
		return;

	// Add new CMyStruct to the CTypedPtrList
	CMyStruct* pMyStruct = new CMyStruct;
	pMyStruct->m_int = m_int;
	pMyStruct->m_float = m_float;
	pMyStruct->m_str = m_str;
	GetDocument()->m_mystructList.AddTail(pMyStruct);

	AddMyStructToListBox(pMyStruct);
}

void CTypedPtrListView::OnInsertBefore()
{
	if (UpdateData() != TRUE)
		return;

	int nSel;
	POSITION pos;
	// Find the CMyStruct in the CTypedPtrList and listbox.
	if (FindMyStruct(nSel, pos) == NULL)
		return;

	// Insert new CMyStruct in the CTypedPtrList
	CMyStruct* pMyStruct = new CMyStruct;
	pMyStruct->m_int = m_int;
	pMyStruct->m_float = m_float;
	pMyStruct->m_str = m_str;
	GetDocument()->m_mystructList.InsertBefore(pos, pMyStruct);

	AddMyStructToListBox(pMyStruct, nSel);
}

void CTypedPtrListView::OnUpdate()
{
	if (UpdateData() != TRUE)
		return;

	int nSel;
	POSITION pos;
	// Find the CMyStruct in the CTypedPtrList and listbox.
	CMyStruct* pMyStruct = FindMyStruct(nSel, pos);
	if (pMyStruct == NULL)
		return;

	// Replace the value of the CMyStruct in the CTypedPtrList.
	pMyStruct->m_int = m_int;
	pMyStruct->m_float = m_float;
	pMyStruct->m_str = m_str;

	// Replace the displayed CMyStruct in the listbox by removing
	// the old listbox entry and adding a new entry.
	m_ctlList.DeleteString(nSel);
	AddMyStructToListBox(pMyStruct, nSel);
}

void CTypedPtrListView::OnRemove()
{
	int nSel;
	POSITION pos;
	// Find the CMyStruct in the CTypedPtrList and listbox.
	CMyStruct* pMyStruct = FindMyStruct(nSel, pos);
	if (pMyStruct == NULL)
		return;

	// Remove the CMyStruct ptr from the CTypedPtrList.
	GetDocument()->m_mystructList.RemoveAt(pos);

	// Delete the CMyStruct object. (The CTypePtrList only holds the ptr.)
	delete pMyStruct;

	// Remove the corresponding entry from the listbox.
	m_ctlList.DeleteString(nSel);
}

void CTypedPtrListView::OnRemoveAll()
{
	CMyStructList& mystructList = GetDocument()->m_mystructList;

	// Delete all of the CMyStruct objects pointed to
	// by the CTypedPtrList. Then remove all of the
	// CMyStruct pointers from the CTypedPtrList, which
	// is faster than removing each individually.
	POSITION pos = mystructList.GetHeadPosition();
	while (pos != NULL)
	{
		delete mystructList.GetNext(pos);
	}
	mystructList.RemoveAll();

	// Remove all of the corresponding formatted strings from the listbox.
	m_ctlList.ResetContent();
}

void CTypedPtrListView::OnSelChangeList()
{
	// Update the edit control to reflect the new selection
	// in the listbox.

	int nSel;
	POSITION pos;
	// Find the CMyStruct in the CTypedPtrList and listbox.
	CMyStruct* pMyStruct = FindMyStruct(nSel, pos);

	m_int = pMyStruct->m_int;
	m_float = pMyStruct->m_float;
	m_str = pMyStruct->m_str;

	UpdateData(FALSE);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人久久精品二区三区红 | 成人福利视频网站| 欧美疯狂性受xxxxx喷水图片| 亚洲三级免费电影| 北条麻妃一区二区三区| 国产清纯白嫩初高生在线观看91| 精品综合免费视频观看| 日韩欧美综合一区| 蜜臀久久99精品久久久久宅男| 欧美日韩在线精品一区二区三区激情 | 在线免费精品视频| 亚洲天堂福利av| 日本韩国欧美一区| 一区二区三区在线观看动漫| 国产成人a级片| 亚洲国产精品精华液ab| www.在线成人| 亚洲一区在线电影| 欧美日韩国产三级| 一区二区三区在线视频播放| 在线观看日韩电影| 亚洲精品欧美激情| 欧美精品久久久久久久多人混战| 日韩精品欧美精品| 精品乱人伦一区二区三区| 激情小说亚洲一区| 国产婷婷精品av在线| jiyouzz国产精品久久| 亚洲私人影院在线观看| 欧美综合一区二区| 日一区二区三区| 26uuu色噜噜精品一区| 成人精品鲁一区一区二区| 亚洲图片激情小说| 欧美一区二区三区男人的天堂| 美女mm1313爽爽久久久蜜臀| 欧美国产日韩精品免费观看| 色欲综合视频天天天| 日本欧美大码aⅴ在线播放| 精品国产一区二区三区不卡 | 日韩免费看的电影| 国产高清成人在线| 一区二区久久久久久| 日韩丝袜情趣美女图片| 成人综合激情网| 亚洲www啪成人一区二区麻豆| 精品噜噜噜噜久久久久久久久试看| 成人午夜激情影院| 天堂成人免费av电影一区| 久久久99久久精品欧美| 色老汉av一区二区三区| 美女在线视频一区| 亚洲色图制服丝袜| 精品国产乱码久久久久久老虎| www.亚洲在线| 国产在线一区观看| 亚洲午夜三级在线| 亚洲欧洲av在线| 日韩精品中文字幕在线不卡尤物| 99久久精品费精品国产一区二区| 国产精品无遮挡| 日韩欧美一区二区在线视频| 91网站最新地址| 视频在线观看一区二区三区| 国产精品乱码人人做人人爱| 日韩欧美一级二级三级久久久| 成a人片亚洲日本久久| www.av亚洲| 麻豆成人在线观看| 亚洲18影院在线观看| 中文字幕中文字幕一区二区| 精品国产一区二区亚洲人成毛片| 欧美日免费三级在线| 波多野结衣中文一区| 韩国午夜理伦三级不卡影院| 日韩国产一区二| 亚洲宅男天堂在线观看无病毒| 国产精品美女久久久久久久| 久久先锋影音av| 久久综合色之久久综合| 91精品国产91久久综合桃花 | 麻豆精品在线看| 亚洲6080在线| 日本sm残虐另类| 麻豆国产欧美日韩综合精品二区| 久久精品国产亚洲a| 韩国在线一区二区| 大桥未久av一区二区三区中文| 成人中文字幕在线| 91丝袜高跟美女视频| 欧美在线观看一区| 欧美男同性恋视频网站| 日韩欧美亚洲国产另类| 久久久久国产免费免费 | 欧美一卡二卡在线观看| 精品剧情v国产在线观看在线| 欧美mv和日韩mv的网站| 国产目拍亚洲精品99久久精品| 国产精品美女久久福利网站| 99久久婷婷国产综合精品| 色综合色综合色综合色综合色综合| 色综合色综合色综合| 在线播放亚洲一区| 久久久精品黄色| 成人免费在线视频| 午夜激情一区二区三区| 国产一区二区导航在线播放| 成人国产精品免费| 欧美日韩在线一区二区| 亚洲精品一区二区三区香蕉| 亚洲欧洲日韩在线| 日本va欧美va瓶| 成人精品高清在线| 91精品国产综合久久香蕉麻豆| 久久香蕉国产线看观看99| 亚洲男人的天堂在线观看| 免费在线欧美视频| av成人老司机| 欧美成人官网二区| 一区二区三区视频在线看| 久久99国产精品尤物| 色狠狠色狠狠综合| 精品理论电影在线观看| 亚洲尤物视频在线| 国产91精品免费| 欧美一区二区三区在线观看 | av电影在线不卡| 欧美一区二区三区白人| 国产精品高潮呻吟久久| 久久国产精品99久久久久久老狼| 成人激情黄色小说| 26uuuu精品一区二区| 亚洲小说欧美激情另类| 国产成人精品免费在线| 欧美一区二区在线观看| 中文字幕视频一区| 国产精品白丝av| 日韩欧美精品在线| 亚洲一区二区中文在线| 菠萝蜜视频在线观看一区| 日韩视频一区二区| 亚洲成人av一区二区| 91在线国产观看| 久久亚洲精品小早川怜子| 午夜av电影一区| 欧洲日韩一区二区三区| 专区另类欧美日韩| 成人精品国产福利| 国产香蕉久久精品综合网| 美国毛片一区二区| 91精品欧美福利在线观看| 亚洲图片欧美色图| 91精彩视频在线| 亚洲色图视频网| www.色精品| 国产精品―色哟哟| 国产999精品久久久久久绿帽| 精品久久久久久久一区二区蜜臀| 天堂一区二区在线| 欧美精品v国产精品v日韩精品| 有坂深雪av一区二区精品| 91天堂素人约啪| 亚洲欧美一区二区久久| 97久久人人超碰| 亚洲色图19p| 91麻豆国产自产在线观看| 亚洲人一二三区| 色中色一区二区| 夜夜揉揉日日人人青青一国产精品| 99综合电影在线视频| 日韩一区在线看| 91极品视觉盛宴| 午夜激情一区二区三区| 日韩一区和二区| 欧美军同video69gay| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩精品系列| 青青草国产精品97视觉盛宴| 91精品福利在线一区二区三区| 视频一区视频二区中文| 精品欧美黑人一区二区三区| 国产一区二区三区免费看 | 成人午夜视频网站| 国产精品久久三| 在线看日本不卡| 午夜精品久久久久久| 欧美大片拔萝卜| 粉嫩av一区二区三区粉嫩| 亚洲欧美另类综合偷拍| 欧美日韩一级片网站| 男女男精品视频网| 国产欧美1区2区3区| 色老汉一区二区三区| 全国精品久久少妇| 国产日韩亚洲欧美综合| 91浏览器在线视频| 日韩中文欧美在线| 久久精品视频免费| 欧美在线高清视频| 精品制服美女丁香|