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

📄 admanage.cpp

📁 vpn服务器的源代码
💻 CPP
字号:
// AdManage.cpp : implementation file
//

#include "stdafx.h"
#include "ddDlqServer.h"
#include "AdManage.h"

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

#include "AdData.h"
/////////////////////////////////////////////////////////////////////////////
// CAdManage dialog
extern CDdDlqServerApp theApp;

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


void CAdManage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAdManage)
	DDX_Control(pDX, IDC_LIST_AD, m_ctrlListAd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAdManage, CDialog)
	//{{AFX_MSG_MAP(CAdManage)
	ON_BN_CLICKED(IDC_BTN_EXITAD, OnBtnExitad)
	ON_BN_CLICKED(IDC_BTN_INSERTAD, OnBtnInsertAd)
	ON_BN_CLICKED(IDC_BTN_DELETEAD, OnBtnDeleteAd)
	ON_BN_CLICKED(IDC_BTN_EDITAD, OnBtnEditAd)
	ON_BN_CLICKED(IDC_BTN_SENDAD, OnBtnSendAd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdManage message handlers

void CAdManage::OnOK() 
{
	//CDialog::OnOK();
}

void CAdManage::OnCancel() 
{
	//CDialog::OnCancel();
}

void CAdManage::OnBtnExitad() 
{
	CDialog::OnCancel();
}

BOOL CAdManage::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ctrlListAd.SetColumnHeader(_T("序号, 50; 提示内容, 350; 年, 50; 月, 40; 日, 40, 2"));
	m_ctrlListAd.SetGridLines(TRUE); // 显示网格
//	m_ctrlListAd.SetCheckboxeStyle(RC_CHKBOX_SINGLE); // 使能checkboxes
	m_ctrlListAd.SetEditable(FALSE); // 不允许编辑各个项目
	m_ctrlListAd.SortItems(0, FALSE); // 不排序
	
	int ise, irows = 1;
	CString str, executeSQL;

	theApp.adoRstAdv.MoveLast();
	while(!theApp.adoRstAdv.IsBOF())
	{	
		const int IDX = m_ctrlListAd.InsertItem(0, _T(""));
		theApp.adoRstAdv.GetFieldValue("adSerial", ise);
		m_ctrlListAd.SetItemText(IDX, 0, ise);
		theApp.adoRstAdv.GetFieldValue("adContent", str);
		m_ctrlListAd.SetItemText(IDX, 1, str);
		theApp.adoRstAdv.GetFieldValue("adYear", str);
		m_ctrlListAd.SetItemText(IDX, 2, str);
		theApp.adoRstAdv.GetFieldValue("adMonth", str);
		m_ctrlListAd.SetItemText(IDX, 3, str);
		theApp.adoRstAdv.GetFieldValue("adDay", str);
		m_ctrlListAd.SetItemText(IDX, 4, str);
		theApp.adoRstAdv.MovePrevious();
	}
	irows = m_ctrlListAd.GetItemCount();
	for(int n = 0; n < irows; n++)
	{
		if(((n + 1) % 2) == 0)
			m_ctrlListAd.SetItemBkColor(n, -1, RGB(233, 222, 0));
	}
	// 设置第二行第三列的文字颜色和背景颜色
	//m_ctrlListAd.SetItemTextColor(1, -1, RGB(0, 0, 0));
	//m_ctrlListAd.SetItemBkColor(1, -1, RGB(255, 255, 0));
	return TRUE;
}

BOOL CAdManage::DestroyWindow() 
{
	return CDialog::DestroyWindow();
}

void CAdManage::OnBtnInsertAd() 
{
	// 添加一条记录
	CAdData dlg;
	long lser;
	CString str;
	int itemCount;
	//m_ctrlListAd.SetEditable(TRUE); // 允许编辑各个项目
	int index = m_ctrlListAd.GetLastItem(RC_ITEM_ALL, -1);
	if(index == -1)
		lser = 1;
	else
	{
		str = m_ctrlListAd.GetItemText(index++, 0);
		lser = atol(str);
		lser++;
	}
	dlg.bEdit = false;
	dlg.lSerial = lser;
	dlg.strAd = "请在此处添加简短广告!";
	dlg.iYear = 2008;
	dlg.iMonth = 8;
	dlg.iDay = 8;
	if(dlg.DoModal() == IDOK)
	{
		int iy, im, id;
		lser = dlg.lSerial;
		str = dlg.strAd;
		iy = dlg.iYear;
		im = dlg.iMonth;
		id = dlg.iDay;
		theApp.adoRstAdv.AddNew();
		theApp.adoRstAdv.SetFieldValue("adSerial", lser);
		theApp.adoRstAdv.SetFieldValue("adContent", str);
		theApp.adoRstAdv.SetFieldValue("adYear", iy);
		theApp.adoRstAdv.SetFieldValue("adMonth", im);
		theApp.adoRstAdv.SetFieldValue("adDay", id);
		if(!theApp.adoRstAdv.Update())
			return;
		itemCount = m_ctrlListAd.GetItemCount(RC_ITEM_ALL);
		const int IDX = m_ctrlListAd.InsertItem(itemCount++, _T(""));
		m_ctrlListAd.SetItemText(IDX, 0, lser);
		m_ctrlListAd.SetItemText(IDX, 1, str);
		m_ctrlListAd.SetItemText(IDX, 2, iy);
		m_ctrlListAd.SetItemText(IDX, 3, im);
		m_ctrlListAd.SetItemText(IDX, 4, id);
		//m_ctrlListAd.MoveToBottom(itemCount);
		m_ctrlListAd.SetFocus();		
	}
	int irows = m_ctrlListAd.GetItemCount();
	for(int n = 0; n < irows; n++)
	{
		if(((n + 1) % 2) == 0)
			m_ctrlListAd.SetItemBkColor(n, -1, RGB(233, 222, 0));
	}
}

void CAdManage::OnBtnDeleteAd() 
{
	// 删除一条记录
	long lser;
	CString str;
	//m_ctrlListAd.SetEditable(TRUE); // 允许编辑各个项目
	int index = m_ctrlListAd.GetNextItem(-1, LVNI_SELECTED);
	if(index == -1)
	{
		MessageBox("请选中其中一条记录进行删除!");
		return;
	}
	str = m_ctrlListAd.GetItemText(index, 0);
	lser = atol(str);
	if(!FindPositionFromAdTable(lser))
	{
		MessageBox("当前记录不存在!");
		return;
	}
	str = "您确认要删除这条记录!\n";
	str += "序号 " + m_ctrlListAd.GetItemText(index, 0) + "\n";
	str += "内容 " + m_ctrlListAd.GetItemText(index, 1);
	if(MessageBox(str, "删除吗?", MB_YESNO) == IDYES)
	{
		theApp.adoRstAdv.Delete();
		m_ctrlListAd.DeleteAllItems(LVNI_SELECTED);
	}
}

void CAdManage::OnBtnEditAd() 
{
	// 编辑一条记录
	CAdData dlg;
	CString str;
	long lser;
	//m_ctrlListAd.SetEditable(TRUE); // 允许编辑各个项目
	int index = m_ctrlListAd.GetNextItem(-1, LVNI_SELECTED);
	if(index == -1)
	{
		MessageBox("请选中其中一条记录进行编辑!");
		return;
	}
	str = m_ctrlListAd.GetItemText(index, 0);
	lser = atol(str);
	dlg.lSerial = lser;
	if(!FindPositionFromAdTable(lser))
	{
		MessageBox("当前记录不存在!");
		return;
	}
	dlg.bEdit = true;
	str = m_ctrlListAd.GetItemText(index, 1);
	dlg.strAd = str;
	str = m_ctrlListAd.GetItemText(index, 2);
	dlg.iYear = atoi(str);
	str = m_ctrlListAd.GetItemText(index, 3);
	dlg.iMonth = atoi(str);
	str = m_ctrlListAd.GetItemText(index, 4);
	dlg.iDay = atoi(str);
	if(dlg.DoModal() == IDOK)
	{
		int iy, im, id;
		lser = dlg.lSerial;
		str = dlg.strAd;
		iy = dlg.iYear;
		im = dlg.iMonth;
		id = dlg.iDay;
		theApp.adoRstAdv.Edit();
		theApp.adoRstAdv.SetFieldValue("adSerial", lser);
		theApp.adoRstAdv.SetFieldValue("adContent", str);
		theApp.adoRstAdv.SetFieldValue("adYear", iy);
		theApp.adoRstAdv.SetFieldValue("adMonth", im);
		theApp.adoRstAdv.SetFieldValue("adDay", id);
		if(!theApp.adoRstAdv.Update())
			return;
		m_ctrlListAd.SetItemText(index, 0, lser);
		m_ctrlListAd.SetItemText(index, 1, str);
		m_ctrlListAd.SetItemText(index, 2, iy);
		m_ctrlListAd.SetItemText(index, 3, im);
		m_ctrlListAd.SetItemText(index, 4, id);
		m_ctrlListAd.SetFocus();
	}
}

BOOL CAdManage::FindPositionFromAdTable(long ladSerial)
{
	long lserial;
	
	theApp.adoRstAdv.MoveLast();
	while(!theApp.adoRstAdv.IsBOF())
	{	
		theApp.adoRstAdv.GetFieldValue("adSerial", lserial);
		if(lserial == ladSerial)
			return TRUE;
		theApp.adoRstAdv.MovePrevious();
	}
	return FALSE;
}

void CAdManage::OnBtnSendAd() 
{
	// 发送广告一次
	SetEvent(theApp.g_hAdEvent);
}

⌨️ 快捷键说明

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