📄 userserch.cpp
字号:
// UserSerch.cpp : implementation file
//
#include "stdafx.h"
#include "tvnews.h"
#include "UserSerch.h"
#include "Channel.h"
#include "Role.h"
#include "Column.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUserSerch dialog
CUserSerch::CUserSerch(CWnd* pParent /*=NULL*/)
: CDialog(CUserSerch::IDD, pParent)
{
//{{AFX_DATA_INIT(CUserSerch)
m_Channel = _T("");
m_Column = _T("");
m_Role = _T("");
m_Sex = _T("");
m_UserName = _T("");
m_LogName = _T("");
//}}AFX_DATA_INIT
}
void CUserSerch::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserSerch)
DDX_Control(pDX, IDC_COMBO_SEX, m_cmbSex);
DDX_Control(pDX, IDC_COMBO_ROLE, m_cmbRole);
DDX_Control(pDX, IDC_COMBO_COLUM, m_cmbColumn);
DDX_Control(pDX, IDC_COMBO_CHANNEL, m_cmbChannel);
DDX_CBString(pDX, IDC_COMBO_CHANNEL, m_Channel);
DDX_CBString(pDX, IDC_COMBO_COLUM, m_Column);
DDX_CBString(pDX, IDC_COMBO_ROLE, m_Role);
DDX_CBString(pDX, IDC_COMBO_SEX, m_Sex);
DDX_Text(pDX, IDC_EDIT_NAME, m_UserName);
DDX_Text(pDX, IDC_EDIT_LOGNAME, m_LogName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserSerch, CDialog)
//{{AFX_MSG_MAP(CUserSerch)
ON_CBN_SELCHANGE(IDC_COMBO_CHANNEL, OnSelchangeComboChannel)
ON_CBN_SELCHANGE(IDC_COMBO_COLUM, OnSelchangeComboColum)
ON_CBN_SELCHANGE(IDC_COMBO_ROLE, OnSelchangeComboRole)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUserSerch message handlers
BOOL CUserSerch::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CChannel Channel;
CStringArray allChannels;
Channel.GetAllChannel(allChannels);
m_cmbChannel.ResetContent();
int i;
for(i=0;i<allChannels.GetSize();i++)
{
m_cmbChannel.AddString(_T(allChannels.GetAt(i)));
}
m_cmbChannel.SelectString(-1,"所有频道");
ChannelID=0;
GetColumnChannelList(1);
CRole Role;
CStringArray allRoles;
Role.GetAllRole(allRoles);
m_cmbRole.ResetContent();
m_cmbRole.AddString("所有角色");
for(i=0;i<allRoles.GetSize();i++)
{
m_cmbRole.AddString(_T(allRoles.GetAt(i)));
}
m_cmbRole.SelectString(-1,"所有角色");
RoleID=-1;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUserSerch::GetColumnChannelList(int Type)
{
if(Type==1)//频道引起栏目变化
{
CChannel Channel;
UpdateData(true);
CString strSQL,strID;
CColumn Column;
if(ChannelID==0)
strSQL="";
else
{
strID.Format("%d", ChannelID);
strSQL= " AND ChannelID = " + strID ;
}
CStringArray allColumns;
Column.GetAllColumn(allColumns,strSQL);
int i;
m_cmbColumn.ResetContent();
if(ChannelID!=0)
{
m_cmbColumn.AddString("所有栏目");
}
for(i=0;i<allColumns.GetSize();i++)
{
m_cmbColumn.AddString(_T(allColumns.GetAt(i)));
}
m_cmbColumn.SelectString(-1,"所有栏目");
ColumnID = 0;
}
else
{
CColumn Column;
UpdateData(true);
int number = m_cmbColumn.GetCurSel();
CString strName;
m_cmbColumn.GetLBText(number,strName);
ColumnID = Column.GetIDByName(strName);
Column.GetData(ColumnID);
ChannelID=Column.GetChannelID();
CString strSQL,strID;
CChannel Channel;
Channel.GetData(ChannelID);
m_cmbChannel.SelectString(-1,Channel.GetName());
}
}
void CUserSerch::OnSelchangeComboChannel()
{
// TODO: Add your control notification handler code here
CChannel Channel;
UpdateData(true);
int number = m_cmbChannel.GetCurSel();
CString strName;
m_cmbChannel.GetLBText(number,strName);
ChannelID = Channel.GetIDByName(strName);
GetColumnChannelList(1);
}
void CUserSerch::OnSelchangeComboColum()
{
// TODO: Add your control notification handler code here
CColumn Column;
UpdateData(true);
int number = m_cmbColumn.GetCurSel();
CString strName;
m_cmbColumn.GetLBText(number,strName);
ColumnID = Column.GetIDByName(strName);
GetColumnChannelList(0);
}
void CUserSerch::OnSelchangeComboRole()
{
// TODO: Add your control notification handler code here
CRole Role;
UpdateData(true);
int number = m_cmbRole.GetCurSel();
CString strName;
m_cmbRole.GetLBText(number,strName);
RoleID = Role.GetIDByName(strName);
}
void CUserSerch::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
int number ;
CString strName;
CChannel Channel;
CColumn Column;
CRole Role;
number = m_cmbChannel.GetCurSel();
m_cmbChannel.GetLBText(number,strName);
ChannelID = Channel.GetIDByName(strName);
number = m_cmbColumn.GetCurSel();
m_cmbColumn.GetLBText(number,strName);
ColumnID = Column.GetIDByName(strName);
number = m_cmbRole.GetCurSel();
m_cmbRole.GetLBText(number,strName);
RoleID = Role.GetIDByName(strName);
CDialog::OnOK();
}
void CUserSerch::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
BOOL CUserSerch::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam == VK_RETURN)
{
CWnd *pWnd = GetFocus();
if(pWnd->GetDlgCtrlID()==IDOK)
{
OnOK();
}
else if(pWnd->GetDlgCtrlID()==IDCANCEL)
{
OnCancel();
}
else
{
NextDlgCtrl();
return true;
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -