// 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) { m_memberno = _T(""); m_cardtype = _T(""); m_type = 0; m_name = _T(""); m_mode = 0; m_bNoAdd = 0; m_cardleng = atol(g_cominfoarray.ElementAt(0).ElementAt(55)); } void InputMemberno::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_memberno); DDX_Text(pDX, IDC_EDIT2, m_cardtype); DDX_Text(pDX, IDC_EDIT3, m_name); } BEGIN_MESSAGE_MAP(InputMemberno, CDialog) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1) ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1) END_MESSAGE_MAP() void InputMemberno::OnOK() { 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); } 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; } void InputMemberno::OnButton1() { 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(); } } BOOL InputMemberno::PreTranslateMessage(MSG* pMsg) { 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; #if JEFF_TEST_ON case 0x41: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "A"; else m_input += "a"; CheckInput(); } break; case 0x42: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "B"; else m_input += "b"; CheckInput(); } break; case 0x43: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "C"; else m_input += "c"; CheckInput(); } break; case 0x44: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "D"; else m_input += "d"; CheckInput(); } break; case 0x45: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "E"; else m_input += "e"; CheckInput(); } break; case 0x46: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "F"; else m_input += "f"; CheckInput(); } break; case 0x47: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "G"; else m_input += "g"; CheckInput(); } break; case 0x48: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "H"; else m_input += "h"; CheckInput(); } break; case 0x49: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "I"; else m_input += "i"; CheckInput(); } break; case 0x4A: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "J"; else m_input += "j"; CheckInput(); } break; case 0x4B: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "K"; else m_input += "k"; CheckInput(); } break; case 0x4C: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "L"; else m_input += "l"; CheckInput(); } break; case 0x4D: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "M"; else m_input += "m"; CheckInput(); } break; case 0x4E: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "N"; else m_input += "n"; CheckInput(); } break; case 0x4F: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "O"; else m_input += "o"; CheckInput(); } break; case 0x50: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "P"; else m_input += "p"; CheckInput(); } break; case 0x51: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "Q"; else m_input += "q"; CheckInput(); } break; case 0x52: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "R"; else m_input += "r"; CheckInput(); } break; case 0x53: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "S"; else m_input += "s"; CheckInput(); } break; case 0x54: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "T"; else m_input += "t"; CheckInput(); } break; case 0x55: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "U"; else m_input += "u"; CheckInput(); } break; case 0x56: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "V"; else m_input += "v"; CheckInput(); } break; case 0x57: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "W"; else m_input += "w"; CheckInput(); } break; case 0x58: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "X"; else m_input += "x"; CheckInput(); } break; case 0x59: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "Y"; else m_input += "y"; CheckInput(); } break; case 0x5A: { if ((GetKeyState(VK_SHIFT) & 0X8000) || (GetKeyState(VK_CAPITAL) & 0x0001)) m_input += "Z"; else m_input += "z"; CheckInput(); } break; #endif case VK_BACK: if (m_input.GetLength()) { m_input.Delete(m_input.GetLength() - 1); CheckInput(); } break; } } return CDialog::PreTranslateMessage(pMsg); } void InputMemberno::CheckInput() { 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() { 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; } int i = 0; CStringArray namearray; for ( i = 0; i < m_List1array.GetSize(); i++) { if (m_List1array.ElementAt(i).ElementAt(1) == m_memberno) { m_type = 0; GetDlgItem(IDOK)->EnableWindow(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; i < m_List2array.GetSize(); i++) { if (m_List2array.ElementAt(i).ElementAt(1) == m_memberno) { m_type = 1; m_memberno2 = m_List2array.ElementAt(i).ElementAt(0); m_memberno2date = m_List2array.ElementAt(i).ElementAt(2); GetDlgItem(IDOK)->EnableWindow(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; i < m_List3array.GetSize(); i++) { if (m_List3array.ElementAt(i).ElementAt(1) == m_memberno) { m_type = 2; GetDlgItem(IDOK)->EnableWindow(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; i < m_List4array.GetSize(); i++) { if (m_List4array.ElementAt(i).ElementAt(1) == m_memberno) { m_type = 3; m_memberno2 = m_List4array.ElementAt(i).ElementAt(0); m_memberno2date = m_List4array.ElementAt(i).ElementAt(2); GetDlgItem(IDOK)->EnableWindow(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; } }