// InputMemberno.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "InputMemberno.h" #include "AddMember.h" #include "SelCardType.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // InputMemberno dialog InputMemberno::InputMemberno(CWnd* pParent /*=NULL*/) : CDialog(InputMemberno::IDD, pParent) { //{{AFX_DATA_INIT(InputMemberno) m_memberno = _T(""); m_cardtype = _T(""); m_type=0; m_name = _T(""); m_mode=0; m_bNoAdd=0; //}}AFX_DATA_INIT m_cardleng=atol(g_cominfoarray.ElementAt (0).ElementAt (55)); } void InputMemberno::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(InputMemberno) DDX_Text(pDX, IDC_EDIT1, m_memberno); DDX_Text(pDX, IDC_EDIT2, m_cardtype); DDX_Text(pDX, IDC_EDIT3, m_name); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(InputMemberno, CDialog) //{{AFX_MSG_MAP(InputMemberno) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1) ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // InputMemberno message handlers 6 void InputMemberno::OnOK() { // TODO: Add extra validation here if(GetDlgItem(IDOK)->IsWindowEnabled()==0)return; if(m_type==1 || m_type==3)//副卡 { CString temp=m_memberno2; m_memberno2=m_memberno; m_memberno=temp; UpdateData(false); } CDialog::OnOK(); } BOOL InputMemberno::OnInitDialog() { CDialog::OnInitDialog(); if(m_cardleng==0)m_cardleng=6; if(m_bNoAdd) { GetDlgItem(IDC_BUTTON1)->EnableWindow(0); } // TODO: Add extra initialization here g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.code[1]=127; g_sendhead.code[2]=130; g_sendhead.code[3]=131; g_sendhead.tabcount=4; g_pMainWnd->ProcessChatMessageRequest2(0);if(g_bSendOK==0)return 0; DataToArray( &m_List1array,&m_List2array,&m_List3array,&m_List4array); CenterWindow(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void InputMemberno::OnButton1() { // TODO: Add your control notification handler code here AddMember dlg; if(dlg.DoModal ()==IDOK) { m_memberno=dlg.m_memberno; UpdateData(false); g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.code[1]=127; g_sendhead.code[2]=130; g_sendhead.code[3]=131; g_sendhead.tabcount=4; g_pMainWnd->ProcessChatMessageRequest2(0);if(g_bSendOK==0)return; DataToArray( &m_List1array,&m_List2array,&m_List3array,&m_List4array); CheckType(); // CDialog::OnOK (); } } BOOL InputMemberno::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if(pMsg->message==WM_KEYDOWN) { switch (pMsg->wParam) { case '0': case VK_NUMPAD0: m_input+="0"; CheckInput(); break; case '1': case VK_NUMPAD1: m_input+="1"; CheckInput(); break; case '2': case VK_NUMPAD2: m_input+="2"; CheckInput(); break; case '3': case VK_NUMPAD3: m_input+="3"; CheckInput(); break; case '4': case VK_NUMPAD4: m_input+="4"; CheckInput(); break; case '5': case VK_NUMPAD5: m_input+="5"; CheckInput(); break; case '6': case VK_NUMPAD6: m_input+="6"; CheckInput(); break; case '7': case VK_NUMPAD7: m_input+="7"; CheckInput(); break; case '8': case VK_NUMPAD8: m_input+="8"; CheckInput(); break; case '9': case VK_NUMPAD9: m_input+="9"; CheckInput(); break; case VK_BACK: if(m_input.GetLength ()) { m_input.Delete (m_input.GetLength ()-1); CheckInput(); } break; } } return CDialog::PreTranslateMessage(pMsg); } void InputMemberno::CheckInput() { /* if(m_input.GetLength ()>=m_cardleng) { m_input=m_input.Right (m_cardleng); } */ m_memberno=m_input; UpdateData(false); CheckType(); } void InputMemberno::OnChangeEdit1() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // UpdateData(); // m_input=m_memberno; // if(m_memberno.GetLength ()>=6) // OnOK(); // CheckType(); // TODO: Add your control notification handler code here } void InputMemberno::OnSetfocusEdit1() { // TODO: Add your control notification handler code here GetDlgItem(IDC_EDIT7)->SetFocus (); } void InputMemberno::CheckType(int type) { GetDlgItem(IDOK)->EnableWindow(0); UpdateData(); m_memberno.TrimLeft (); m_memberno.TrimRight (); SetDlgItemText(IDC_STATIC1,""); if( m_memberno.IsEmpty ()) { return; } CStringArray namearray; for(int i=0; iEnableWindow(1); m_cardtype="金卡会员"; m_name=m_List1array.ElementAt (i).ElementAt (2); UpdateData(false); if(type!=-1 && type==m_type) return; if(m_mode)return; namearray.Add (m_cardtype); } } if(m_mode==0) { for( i=0; iEnableWindow(1); m_cardtype="金卡副卡"; GetNameFromNo(m_memberno2,m_membernoname,m_membernosex,m_membernophone); m_name=m_membernoname; UpdateData(false); if(type!=-1 && type==m_type) return; namearray.Add (m_cardtype); } } for( i=0; iEnableWindow(1); m_cardtype="蓝钻卡会员"; m_name=m_List3array.ElementAt (i).ElementAt (2); UpdateData(false); if(type!=-1 && type==m_type) return; namearray.Add (m_cardtype); } } for( i=0; iEnableWindow(1); m_cardtype="蓝钻卡副卡"; GetNameFromNo2(m_memberno2,m_membernoname,m_membernosex,m_membernophone,m_membernojiage); m_name=m_membernoname; UpdateData(false); if(type!=-1 && type==m_type) return; namearray.Add (m_cardtype); } } } if(namearray.GetSize ()==1)return; if(type==-1 && namearray.GetSize ()>1) { SelCardType dlg; dlg.m_pArray =&namearray; dlg.DoModal (); CheckType(dlg.m_type); return; } m_cardtype=""; m_name=""; UpdateData(false); SetDlgItemText(IDC_STATIC1,"没有这个会员卡号!"); } void InputMemberno::GetNameFromNo(CString no, CString &name, CString &sex, CString &phone) { CString filter="[memberno]='"+no+"'"; g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; DataToArray(&g_List1array); if(g_List1array.GetSize ()) { name=g_List1array.ElementAt (0).ElementAt (2); sex=g_List1array.ElementAt (0).ElementAt (3); phone=g_List1array.ElementAt (0).ElementAt (4); return; } } void InputMemberno::GetNameFromNo2(CString no, CString &name, CString &sex, CString &phone, CString &price) { CString filter="[memberno]='"+no+"'"; g_sendhead.bsql=0; g_sendhead.code[0]=130; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; DataToArray(&g_List1array); if(g_List1array.GetSize ()) { name=g_List1array.ElementAt (0).ElementAt (2); sex=g_List1array.ElementAt (0).ElementAt (3); phone=g_List1array.ElementAt (0).ElementAt (4); price=g_List1array.ElementAt (0).ElementAt (9); return; } }