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

📄 prtslt.cpp

📁 一个真正实用的应用程序
💻 CPP
字号:
// PrtSlt.cpp : implementation file
//

#include "stdafx.h"
#include "wgl_32.h"
#include "PrtSlt.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPrtSlt dialog


CPrtSlt::CPrtSlt(CWnd* pParent /*=NULL*/)
	: CDialog(CPrtSlt::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPrtSlt)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	tl = LB_ERR;
}


void CPrtSlt::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPrtSlt)
	DDX_Control(pDX, IDC_PRINTLIST, m_TargetList);
	DDX_Control(pDX, IDC_SOURCELIST, m_SourceList);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CPrtSlt, CDialog)
	//{{AFX_MSG_MAP(CPrtSlt)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DEL, OnDel)
	ON_LBN_DBLCLK(IDC_SOURCELIST, OnDblclkSourcelist)
	ON_LBN_SETFOCUS(IDC_PRINTLIST, OnSetfocusPrintlist)
	ON_LBN_SETFOCUS(IDC_SOURCELIST, OnSetfocusSourcelist)
	ON_BN_CLICKED(IDC_APP, OnApp)
	ON_LBN_SELCANCEL(IDC_PRINTLIST, OnSelcancelPrintlist)
	ON_LBN_SELCHANGE(IDC_PRINTLIST, OnSelchangePrintlist)
	ON_LBN_DBLCLK(IDC_PRINTLIST, OnDblclkPrintlist)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPrtSlt message handlers

void CPrtSlt::OnAdd() 
{
	CString strTemp;
	int sl = m_SourceList.GetCurSel();
	if(sl == LB_ERR) return;
	m_SourceList.GetText(sl,strTemp);
	if(tl == LB_ERR)
		m_TargetList.AddString(strTemp);
	else
		m_TargetList.InsertString(tl++,strTemp);
}

void CPrtSlt::OnDel() 
{
	tl = m_TargetList.GetCurSel();
	if(tl == LB_ERR) return;
	m_TargetList.DeleteString( tl );
	tl = LB_ERR;
	GetDlgItem(IDC_ADD)->EnableWindow( FALSE );
}

void CPrtSlt::OnDblclkSourcelist() 
{
	CString strTemp;
	int sl = m_SourceList.GetCurSel();
	if(sl == LB_ERR) return;
	m_SourceList.GetText(sl,strTemp);
	if(tl == LB_ERR)
		m_TargetList.AddString(strTemp);
	else
		m_TargetList.InsertString(tl++,strTemp);
}

void CPrtSlt::OnOK() 
{
	CString strTemp;
	int count = m_TargetList.GetCount();
	for(int i=0; i<count; i++)
	{
		m_TargetList.GetText(i,strTemp);
		SourceList.Add( strTemp );
	}
	CDialog::OnOK();
}

void CPrtSlt::OnSetfocusPrintlist() 
{
	GetDlgItem(IDC_ADD)->EnableWindow( FALSE );
	GetDlgItem(IDC_APP)->EnableWindow( FALSE );
	if(m_TargetList.GetCurSel() == LB_ERR || m_TargetList.GetCount()==0)
		GetDlgItem(IDC_DEL)->EnableWindow( FALSE );
	else 
		GetDlgItem(IDC_DEL)->EnableWindow( TRUE );
}

void CPrtSlt::OnSetfocusSourcelist() 
{
	GetDlgItem(IDC_APP)->EnableWindow( TRUE );
	if(tl == LB_ERR)
		GetDlgItem(IDC_ADD)->EnableWindow( FALSE );
	else 
		GetDlgItem(IDC_ADD)->EnableWindow( TRUE );
	GetDlgItem(IDC_DEL)->EnableWindow( FALSE );
}

BOOL CPrtSlt::OnInitDialog() 
{
	CDialog::OnInitDialog();

	GetDlgItem(IDC_ADD)->EnableWindow( FALSE );
	GetDlgItem(IDC_APP)->EnableWindow( FALSE );
	GetDlgItem(IDC_DEL)->EnableWindow( FALSE );

	int count = SourceList.GetSize();
	for(int i=0; i<count; i++)
		m_SourceList.AddString(	SourceList[i] );
	SourceList.RemoveAll();

	return TRUE;
}

void CPrtSlt::OnApp() 
{
	CString strTemp;
	int sl = m_SourceList.GetCurSel();
	m_SourceList.GetText(sl,strTemp);
	m_TargetList.AddString(strTemp);
}

void CPrtSlt::OnSelcancelPrintlist() 
{
	tl = LB_ERR;
	GetDlgItem(IDC_ADD)->EnableWindow( FALSE );
}

void CPrtSlt::OnSelchangePrintlist() 
{
	tl = m_TargetList.GetCurSel();
	GetDlgItem(IDC_DEL)->EnableWindow( TRUE );
}

void CPrtSlt::OnDblclkPrintlist() 
{
	int sl = m_TargetList.GetCurSel();
	if(sl == LB_ERR) return;
	m_TargetList.DeleteString( sl );
}

⌨️ 快捷键说明

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