📄 admanage.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 + -