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

📄 pagesetdlg.cpp

📁 为学校教导用的排课系统。
💻 CPP
字号:
// PageSetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "lesson.h"
#include "PageSetDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPageSetDlg dialog


CPageSetDlg::CPageSetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPageSetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPageSetDlg)
	m_High = _T("");
	m_Width = _T("");
	m_Up = _T("");
	m_Down = _T("");
	m_Left = _T("");
	m_Right = _T("");
	m_Str = _T("");
	//}}AFX_DATA_INIT
}


void CPageSetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPageSetDlg)
	DDX_Control(pDX, IDC_LIST, m_List);
	DDX_Control(pDX, IDC_FONT, m_Font);
	DDX_Text(pDX, IDC_HIGH, m_High);
	DDX_Text(pDX, IDC_WIDTH, m_Width);
	DDX_Text(pDX, IDC_UP, m_Up);
	DDX_Text(pDX, IDC_DOWN, m_Down);
	DDX_Text(pDX, IDC_LEFT, m_Left);
	DDX_Text(pDX, IDC_RIGHT, m_Right);
	DDX_Text(pDX, IDC_STR, m_Str);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPageSetDlg, CDialog)
	//{{AFX_MSG_MAP(CPageSetDlg)
	ON_EN_CHANGE(IDC_HIGH, OnChangeHigh)
	ON_EN_CHANGE(IDC_WIDTH, OnChangeWidth)
	ON_EN_CHANGE(IDC_UP, OnChangeUp)
	ON_EN_CHANGE(IDC_DOWN, OnChangeDown)
	ON_EN_CHANGE(IDC_LEFT, OnChangeLeft)
	ON_EN_CHANGE(IDC_RIGHT, OnChangeRight)
	ON_EN_CHANGE(IDC_STR, OnChangeStr)
	ON_BN_CLICKED(IDC_FULL, OnFull)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_TOUP, OnToup)
	ON_BN_CLICKED(IDC_TODOWN, OnTodown)
	ON_LBN_SELCHANGE(IDC_LIST, OnSelchangeList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPageSetDlg message handlers

void CPageSetDlg::OnChangeHigh() 
{
	UpdateData();	
}

void CPageSetDlg::OnChangeWidth() 
{
	UpdateData();	
}

void CPageSetDlg::OnChangeUp() 
{
	UpdateData();	
}

void CPageSetDlg::OnChangeDown() 
{
	UpdateData();	
}

void CPageSetDlg::OnChangeLeft() 
{
	UpdateData();	
}

void CPageSetDlg::OnChangeRight() 
{
	UpdateData();	
}

void CPageSetDlg::OnChangeStr() 
{
	UpdateData();
	GetDlgItem(IDC_FULL)->EnableWindow();
	SetDefID(IDC_FULL);
}

void CPageSetDlg::OnFull() 
{
	// TODO: Add your control notification handler code here
	m_List.AddString(m_Str);
	GetDlgItem(IDC_DELETE)->EnableWindow();	
	SetDefID(IDOK);
	GotoDlgCtrl(GetDlgItem(IDC_STR));	
}

void CPageSetDlg::OnDelete() 
{
	// TODO: Add your control notification handler code here
	int rgIndex[63];
	for(int x=0;x<63;x++)rgIndex[x]=-1;
	int nMaxItems=m_List.GetSelCount();
	m_List.GetSelItems(nMaxItems,rgIndex);
	int i=0;int nIndex;
	
	for(i=m_List.GetSelCount()-1;i>=0;i--)
	{
		nIndex=rgIndex[i];
		m_List.DeleteString(nIndex);
	}
	GetDlgItem(IDC_DELETE)->EnableWindow(0);	
	GetDlgItem(IDC_TOUP)->EnableWindow(0);	
	GetDlgItem(IDC_TODOWN)->EnableWindow(0);	
}

void CPageSetDlg::OnToup() 
{
	// TODO: Add your control notification handler code here
	CString str;
	int sel[32];
	int max=m_List.GetSelCount();
	m_List.GetSelItems(max,sel);
	m_List.GetText(sel[0],str);
	m_List.DeleteString(sel[0]);
	m_List.InsertString(sel[0]-1,str);
	m_List.SetSel(sel[0]-1);
	OnSelchangeList();
}

void CPageSetDlg::OnTodown() 
{
	// TODO: Add your control notification handler code here
	CString str;
	int sel[32];
	int max=m_List.GetSelCount();
	m_List.GetSelItems(max,sel);
	m_List.GetText(sel[0],str);
	m_List.DeleteString(sel[0]);
	m_List.InsertString(sel[0]+1,str);
	m_List.SetSel(sel[0]+1);
	OnSelchangeList();
}

void CPageSetDlg::OnSelchangeList() 
{
	// TODO: Add your control notification handler code here
	int nMaxItems=m_List.GetSelCount();
	if(nMaxItems>0)
	{
		GetDlgItem(IDC_DELETE)->EnableWindow(1);
		if(nMaxItems==1)
		{
			int sel[1];
			m_List.GetSelItems(nMaxItems,sel);
			if(sel[0]!=0)
			{
				GetDlgItem(IDC_TOUP)->EnableWindow(1);
			}
			else
				GetDlgItem(IDC_TOUP)->EnableWindow(0);
			if(sel[0]!=m_List.GetCount()-1)
			{
				GetDlgItem(IDC_TODOWN)->EnableWindow(1);
			}
			else
				GetDlgItem(IDC_TODOWN)->EnableWindow(0);

		}
		else
		{
			GetDlgItem(IDC_TOUP)->EnableWindow(0);
			GetDlgItem(IDC_TODOWN)->EnableWindow(0);
		}
	}
	else
	{
		GetDlgItem(IDC_DELETE)->EnableWindow(0);
		GetDlgItem(IDC_TOUP)->EnableWindow(0);
		GetDlgItem(IDC_TODOWN)->EnableWindow(0);
	}	
}

BOOL CPageSetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_Font.AddString("黑体");
	m_Font.AddString("仿宋_GB2312");
	m_Font.AddString("楷体_GB2312");
	m_Font.AddString("宋体");
	CLessonApp * pa=(CLessonApp *)AfxGetApp();
	m_High.Format("%d",pa->m_Print.m_High);
	m_Width.Format("%d",pa->m_Print.m_Width);
	m_Up.Format("%d",pa->m_Print.m_Up);
	m_Down.Format("%d",pa->m_Print.m_Down);
	m_Left.Format("%d",pa->m_Print.m_Left);
	m_Right.Format("%d",pa->m_Print.m_Right);
	m_Font.SetCurSel(m_Font.FindString(-1,pa->m_Print.m_Font));
	DoList();
	UpdateData(0);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPageSetDlg::OnOK() 
{
	// TODO: Add extra validation here
	CLessonApp * pa =(CLessonApp *)AfxGetApp();
	pa->m_Print.m_High=atoi(m_High);
	pa->m_Print.m_Width=atoi(m_Width);
	pa->m_Print.m_Up=atoi(m_Up);
	pa->m_Print.m_Down=atoi(m_Down);
	pa->m_Print.m_Left=atoi(m_Left);
	pa->m_Print.m_Right=atoi(m_Right);
	pa->m_Print.m_Str=DoList(1);
	m_Font.GetLBText(m_Font.GetCurSel(),pa->m_Print.m_Font);
	CDialog::OnOK();
}

CString CPageSetDlg::DoList(int flag)
{
	CString str;
	if(flag)
	{
		CString temp;
		for(int i=0;i<m_List.GetCount();i++)
		{
			m_List.GetText(i,temp);
			str+=temp;
			str+="/";
		}
		return str;
	}
	else
	{
		CLessonApp * pa =(CLessonApp *)AfxGetApp();
		str=pa->m_Print.m_Str;
		CString temp;
		int n=-1;
		while(!str.IsEmpty())
		{
			n=str.Find(47);
			if(n<0)
			{
				m_List.AddString(str);
				break;
			}
			temp=str.Left(n);
			m_List.AddString(temp);
			str.Delete(0,n+1);
		}
		return "";
	}
}

⌨️ 快捷键说明

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