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

📄 foreign.cpp

📁 在本实例中,实现了单体模式,工厂模式,门面模式以及STL编程
💻 CPP
字号:
// Foreign.cpp : 实现文件
//

#include "stdafx.h"
#include "choucha.h"
#include "Foreign.h"


// CForeign 对话框

IMPLEMENT_DYNAMIC(CForeign, CPropertyPage)
CForeign::CForeign()
	: CPropertyPage(CForeign::IDD)
{
}

CForeign::~CForeign()
{
}

void CForeign::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST2, test_stu);
	DDX_Control(pDX, IDC_LIST1, student);
	DDX_Control(pDX, IDC_BUTTON1, add);
	DDX_Control(pDX, IDC_BUTTON2, del);
	DDX_Control(pDX, IDC_BUTTON3, test);
	DDX_Control(pDX, IDC_BUTTON4, present[0]);
	DDX_Control(pDX, IDC_BUTTON5, present[1]);
	DDX_Control(pDX, IDC_BUTTON6, present[2]);
	DDX_Control(pDX, IDC_BUTTON7, present[3]);
}


BEGIN_MESSAGE_MAP(CForeign, CPropertyPage)
	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
	ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
END_MESSAGE_MAP()


// CForeign 消息处理程序

void CForeign::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	theApp.vst=theApp.vstudent.begin();
	switch(student.GetCurSel())
	{
	case 0: 
		vtest_stu.push_back(theApp.vstudent[0]);
		test_stu.AddString(theApp.vstudent[0]);
		student.DeleteString(0);
		theApp.vstudent.erase(theApp.vst);
		break;
	case 1:
		vtest_stu.push_back(theApp.vstudent[1]);
		test_stu.AddString(theApp.vstudent[1]);
        student.DeleteString(1);
		theApp.vstudent.erase(theApp.vst+1);
		break;
	case 2: 
		vtest_stu.push_back(theApp.vstudent[2]);
		test_stu.AddString(theApp.vstudent[2]);
        student.DeleteString(2);
		theApp.vstudent.erase(theApp.vst+2);
		break;
	case 3:
		vtest_stu.push_back(theApp.vstudent[3]);
		test_stu.AddString(theApp.vstudent[3]);
        student.DeleteString(3);
		theApp.vstudent.erase(theApp.vst+3);
		break;
	case 4: 
		vtest_stu.push_back(theApp.vstudent[4]);
		test_stu.AddString(theApp.vstudent[4]);
        student.DeleteString(4);
		theApp.vstudent.erase(theApp.vst+4);
		break;
	case 5:
		vtest_stu.push_back(theApp.vstudent[5]);
		test_stu.AddString(theApp.vstudent[5]);
        student.DeleteString(5);
		theApp.vstudent.erase(theApp.vst+5);
		break;
	case 6: 
		vtest_stu.push_back(theApp.vstudent[6]);
		test_stu.AddString(theApp.vstudent[6]);
        student.DeleteString(6);
		theApp.vstudent.erase(theApp.vst+6);
		break;
	case 7:
		vtest_stu.push_back(theApp.vstudent[7]);
		test_stu.AddString(theApp.vstudent[7]);
        student.DeleteString(7);
		theApp.vstudent.erase(theApp.vst+7);
		break;
	case 8: 
		vtest_stu.push_back(theApp.vstudent[8]);
		test_stu.AddString(theApp.vstudent[8]);
        student.DeleteString(8);
		theApp.vstudent.erase(theApp.vst+8);
		break;
	default:
		break;
	}
}

void CForeign::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	vt=vtest_stu.begin();
	if(vt!=0)
	{
	switch(test_stu.GetCurSel())
	{
	case 0: 
		theApp.vstudent.push_back(vtest_stu[0]);
		student.AddString(vtest_stu[0]);
		test_stu.DeleteString(0);
		vtest_stu.erase(vt);
		break;
	case 1:
		theApp.vstudent.push_back(vtest_stu[1]);
		student.AddString(vtest_stu[1]);
		test_stu.DeleteString(1);
		vtest_stu.erase(vt+1);
		break;
	case 2: 
		theApp.vstudent.push_back(vtest_stu[2]);
		student.AddString(vtest_stu[2]);
		test_stu.DeleteString(2);
		vtest_stu.erase(vt+2);
		break;
	case 3:
		theApp.vstudent.push_back(vtest_stu[3]);
		student.AddString(vtest_stu[3]);
		test_stu.DeleteString(3);
		vtest_stu.erase(vt+3);
		break;
	default:
		break;
	}
	}
}

void CForeign::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码
	present[0].SetWindowText("1");
	present[1].SetWindowText("2");
	present[2].SetWindowText("3");
	present[3].SetWindowText("4");
	President->tongzhi(present,vtest_stu);
}

BOOL CForeign::OnInitDialog()
{   
	CDialog::OnInitDialog();
	President=president::create();
	return true;
}

BOOL CForeign::OnSetActive()
{
	// TODO: 在此添加专用代码和/或调用基类
	while(student.GetCount())
		student.DeleteString(0);
	for(theApp.vst=theApp.vstudent.begin();theApp.vst<theApp.vstudent.end();theApp.vst++)
	{  
	    student.AddString(*theApp.vst);
	}
	return CPropertyPage::OnSetActive();
}

⌨️ 快捷键说明

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