258 lines
5.8 KiB
C++
258 lines
5.8 KiB
C++
|
// DLG_FindNS.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "corpsms.h"
|
|||
|
#include "DLG_FindNS.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_FindNS dialog
|
|||
|
|
|||
|
#include "MainFrm.h"
|
|||
|
#include "DLG_FindSR_Send.h"
|
|||
|
|
|||
|
|
|||
|
DLG_FindNS::DLG_FindNS(CWnd* pParent /*=NULL*/,long lFindType)
|
|||
|
: CDialog(DLG_FindNS::IDD, pParent)
|
|||
|
{
|
|||
|
//{{AFX_DATA_INIT(DLG_FindNS)
|
|||
|
m_lMon = -1;
|
|||
|
m_lMon2 = -1;
|
|||
|
m_lDay = -1;
|
|||
|
//}}AFX_DATA_INIT
|
|||
|
m_pMainFrame = (CMainFrame*)pParent;
|
|||
|
m_lFindType = lFindType;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_FindNS::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
//{{AFX_DATA_MAP(DLG_FindNS)
|
|||
|
DDX_Control(pDX, IDC_FINDNS_MON2, m_L_Mon2);
|
|||
|
DDX_Control(pDX, IDC_FINDNS_MON, m_L_Mon);
|
|||
|
DDX_Control(pDX, IDC_FINDNS_DAY, m_L_Day);
|
|||
|
DDX_Control(pDX, IDC_FINDNS_S1, m_S_S1);
|
|||
|
DDX_Control(pDX, IDC_FINDNS_LIST, m_wndList);
|
|||
|
DDX_CBIndex(pDX, IDC_FINDNS_MON, m_lMon);
|
|||
|
DDX_CBIndex(pDX, IDC_FINDNS_MON2, m_lMon2);
|
|||
|
DDX_CBIndex(pDX, IDC_FINDNS_DAY, m_lDay);
|
|||
|
//}}AFX_DATA_MAP
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(DLG_FindNS, CDialog)
|
|||
|
//{{AFX_MSG_MAP(DLG_FindNS)
|
|||
|
ON_NOTIFY(NM_RCLICK, IDC_FINDNS_LIST, OnRclickFindnsList)
|
|||
|
ON_NOTIFY(LVN_KEYDOWN, IDC_FINDNS_LIST, OnKeydownFindnsList)
|
|||
|
ON_BN_CLICKED(IDC_FINDNS_FIND, OnFindnsFind)
|
|||
|
ON_BN_CLICKED(IDC_FINDNS_ADD, OnFindnsAdd)
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
ON_COMMAND( MENU_FINDNS_DEL , On_User_Del )
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_FindNS message handlers
|
|||
|
|
|||
|
BOOL DLG_FindNS::OnInitDialog()
|
|||
|
{
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>б<EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б<EFBFBD>
|
|||
|
m_Image.Create( 20 , 20 , ILC_COLOR32|ILC_MASK , 5 , 1);
|
|||
|
CBitmap bmp;
|
|||
|
bmp.LoadBitmap( IDB_L_USER_NOR );
|
|||
|
m_Image.Add( &bmp , RGB(193,193,193) ); //<2F><><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б<EFBFBD>
|
|||
|
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
|
|||
|
m_wndList.SetBkColor( RGB(237,238,188) );
|
|||
|
m_wndList.SetTextBkColor( RGB(237,238,188) );
|
|||
|
|
|||
|
m_wndList.SubClassWindow2();
|
|||
|
switch (m_lFindType)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
m_wndList.SetHeadings(_T(" <20><> <20><>,80; <20><> <20><>,80;<3B>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,60; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,150;"));
|
|||
|
break;
|
|||
|
case 0:
|
|||
|
default:
|
|||
|
m_wndList.SetHeadings(_T(" <20><> <20><>,80; <20><> <20><>,80;<3B>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,60; <20><> ע,150;"));
|
|||
|
break;
|
|||
|
}
|
|||
|
m_wndList.SetGridLines(true);
|
|||
|
|
|||
|
m_lMon = 0;
|
|||
|
m_lMon2= 9;
|
|||
|
|
|||
|
int i=0;
|
|||
|
CString strTemp;
|
|||
|
switch (m_lFindType)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
for ( i=0 ; i<100 ; i++ )
|
|||
|
{
|
|||
|
strTemp.Format( _T("%d"), i+1 );
|
|||
|
m_L_Day.AddString(strTemp);
|
|||
|
}
|
|||
|
m_lDay=14;
|
|||
|
m_L_Mon.ResetContent();
|
|||
|
m_L_Mon2.ResetContent();
|
|||
|
for ( i=0 ; i<12 ; i++ )
|
|||
|
{
|
|||
|
strTemp.Format( _T("%d<><64>"),i+1);
|
|||
|
m_L_Mon.AddString(strTemp);
|
|||
|
m_L_Mon2.AddString(strTemp);
|
|||
|
}
|
|||
|
m_lMon = 0;
|
|||
|
m_lMon2= 11;
|
|||
|
break;
|
|||
|
case 0:
|
|||
|
default:
|
|||
|
GetDlgItem(IDC_FINDNS_DAY_S1)->ShowWindow(SW_HIDE);
|
|||
|
GetDlgItem(IDC_FINDNS_DAY)->ShowWindow(SW_HIDE);
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
UpdateData(false);
|
|||
|
|
|||
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|||
|
}
|
|||
|
|
|||
|
void DLG_FindNS::OnRclickFindnsList(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
|
{
|
|||
|
*pResult = 0;
|
|||
|
|
|||
|
ShowRMenu();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_FindNS::OnKeydownFindnsList(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
|
{
|
|||
|
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
|
|||
|
*pResult = 0;
|
|||
|
|
|||
|
if ( pLVKeyDow->wVKey == VK_DELETE )
|
|||
|
{
|
|||
|
On_User_Del();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void DLG_FindNS::ShowRMenu()
|
|||
|
{
|
|||
|
CMenu menu;
|
|||
|
menu.CreatePopupMenu();
|
|||
|
long lCount = m_wndList.GetSelectedCount();
|
|||
|
|
|||
|
//ɾ<><C9BE>
|
|||
|
if ( lCount >0 )
|
|||
|
{
|
|||
|
menu.AppendMenu(MF_STRING , MENU_FINDNS_DEL, _T(" ɾ <20><> ") );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FINDNS_DEL , _T(" ɾ <20><> ") );
|
|||
|
}
|
|||
|
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
|
|||
|
POINT pt ;
|
|||
|
::GetCursorPos( &pt );
|
|||
|
//this->ClientToScreen( &pt);
|
|||
|
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
|
|||
|
menu.DestroyMenu();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_FindNS::On_User_Del()
|
|||
|
{
|
|||
|
long lRet = MessageBox( _T("ȷʵҪɾ<EFBFBD><EFBFBD>ѡ<EFBFBD>е<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
|
|||
|
if ( lRet != IDYES )
|
|||
|
return ;
|
|||
|
|
|||
|
long lCount = m_wndList.GetSelectedCount();
|
|||
|
long *lDel = new long[lCount+2];
|
|||
|
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
|||
|
long i = 0;
|
|||
|
while(pos)
|
|||
|
{
|
|||
|
lDel[i]= m_wndList.GetNextSelectedItem(pos);
|
|||
|
i ++;
|
|||
|
}
|
|||
|
//<2F><>תɾ<D7AA><C9BE>
|
|||
|
m_wndList.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ٶ<EFBFBD>
|
|||
|
for ( i = lCount ; i>0 ; i-- )
|
|||
|
{
|
|||
|
m_wndList.DeleteItem(lDel[i-1]); //<2F><><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE>
|
|||
|
}
|
|||
|
m_wndList.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ٶ<EFBFBD>
|
|||
|
delete lDel;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void DLG_FindNS::OnFindnsFind()
|
|||
|
{
|
|||
|
if ( !UpdateData(true) )
|
|||
|
return ;
|
|||
|
if ( m_lMon2<m_lMon )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·ݲ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڿ<EFBFBD>ʼ<EFBFBD>·ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>顣"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
|||
|
return ;
|
|||
|
}
|
|||
|
m_wndList.ShowWindow(SW_HIDE );
|
|||
|
m_wndList.DeleteAllItems();
|
|||
|
if ( m_pMainFrame )
|
|||
|
{
|
|||
|
switch ( m_lFindType )
|
|||
|
{
|
|||
|
case 1:
|
|||
|
m_pMainFrame->FindBX(m_lMon+1,m_lMon2+1,m_lDay+1,&m_wndList);
|
|||
|
break;
|
|||
|
case 0:
|
|||
|
default:
|
|||
|
m_pMainFrame->FindNS(m_lMon+3,m_lMon2+3,&m_wndList);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_wndList.ShowWindow(SW_SHOW);
|
|||
|
|
|||
|
CString str;
|
|||
|
str.Format( _T("<EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>:%d") , m_wndList.GetItemCount() );
|
|||
|
m_S_S1.SetWindowText(str);
|
|||
|
}
|
|||
|
|
|||
|
void DLG_FindNS::OnFindnsAdd()
|
|||
|
{
|
|||
|
|
|||
|
if ( !m_pMainFrame )
|
|||
|
return;
|
|||
|
long lCount = m_wndList.GetItemCount();
|
|||
|
if ( lCount <= 0 )
|
|||
|
return ;
|
|||
|
|
|||
|
DLG_FindSR_Send dlg(this,1+m_lFindType);
|
|||
|
if ( dlg.DoModal()==IDOK )
|
|||
|
{
|
|||
|
Send_User * pUser = new Send_User[lCount];
|
|||
|
memset(pUser,0,sizeof(Send_User)*lCount);
|
|||
|
for ( int i=0 ; i<lCount;i++ )
|
|||
|
{
|
|||
|
m_wndList.GetItemText(i,0,pUser[i].szName,sizeof(pUser->szName));
|
|||
|
m_wndList.GetItemText(i,1,pUser[i].szNickName,sizeof(pUser->szNickName));
|
|||
|
m_wndList.GetItemText(i,2,pUser[i].szMobile,sizeof(pUser->szMobile));
|
|||
|
m_wndList.GetItemText(i,3,pUser[i].szBZ,sizeof(pUser->szBZ));
|
|||
|
}
|
|||
|
if ( m_pMainFrame->m_pFuncView->m_DLGSend.List_New() )
|
|||
|
{
|
|||
|
m_pMainFrame->m_pFuncView->m_DLGSend.SetListSR(true); //Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
m_pMainFrame->m_pFuncView->On_User_List_AddUser(lCount,pUser);
|
|||
|
this->EndDialog(IDOK);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|