123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- // MainDlg.h : interface of the CMobileDlg class
- //
- /////////////////////////////////////////////////////////////////////////////
- #pragma once
- #include "mod_MobileDial.h"
- #include "ProgressBar.h"
- #define WM_TIMER_INVALID 1000
- #define WM_TIMER_PROCESS 1001
- #define WM_TIMER_CONNECT 1002
- #define WM_TIMER_DISCONNECT 1003
- #define WM_TIMER_SWITCH 1004
- #define WM_TIMER_PROCESS_MAX 1005
- #define TIMER_TIMTOUT_MAX 18000
- class CMobileDlg;
- class CWlanConfigDlg : public ATL::CAxDialogImpl<CWlanConfigDlg>
- {
- public:
- enum {IDD = IDD_DIALOG_MBB_CONFIG};
- //enum {IDD = IDD_DIALOG2};
- CString m_strLoginUsername;
- CString m_strLoginPassword;
- CString m_strWlanSSID;
- CString m_strWlanPassword;
- BOOL m_fHidden;
- CWlanConfigDlg(CMobileDlg* pDlg) : m_fHidden(false)
- ,m_strLoginUsername(""),m_strLoginPassword("")
- ,m_strWlanSSID(""),m_strWlanPassword(""),m_pDlg(pDlg)
- {
- }
- BEGIN_MSG_MAP(CWlanConfigDlg)
- MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
- COMMAND_ID_HANDLER(IDOK_EX, OnOK)
- COMMAND_ID_HANDLER(IDCANCEL_EX, OnCancel)
- COMMAND_HANDLER(IDC_CHECK_MBB_LOGIN_PSW, BN_CLICKED, OnBnClickedCheckViewPassword)
- COMMAND_HANDLER(IDC_CHECK_MBB_WLAN_PSW, BN_CLICKED, OnBnClickedCheckViewPassword)
- END_MSG_MAP()
- LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
- LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
- {
- UpdateValue();
- EndDialog(wID);
- return 0;
- }
- BOOL HasUpdated(BOOL refresh = TRUE);
- LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
- {
- EndDialog(wID);
- return 0;
- }
- LRESULT OnBnClickedCheckViewPassword(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& /*bHandled*/)
- {
- if(wID != IDC_CHECK_MBB_LOGIN_PSW && wID != IDC_CHECK_MBB_WLAN_PSW) {
- return 0;
- }
- CEdit edit = (CEdit)this->GetDlgItem(wID == IDC_CHECK_MBB_LOGIN_PSW ? IDC_EDIT_MBB_LOGIN_PSW : IDC_EDIT_MBB_WLAN_PSW);
- if(IsDlgButtonChecked(wID)) {
- edit.SetPasswordChar(0);
- } else {
- edit.SetPasswordChar('*');
- }
- edit.RedrawWindow();
- return 0;
- }
- private:
- void UpdateValue() {
- int nLen = 0;
- {
- CEdit edit = GetDlgItem(IDC_EDIT_MBB_LOGIN_USERNAME);
- nLen = edit.GetWindowTextLength();
- edit.GetWindowText(m_strLoginUsername.GetBuffer(nLen), nLen + 1);
- m_strLoginUsername.ReleaseBuffer();
- }
- {
- CEdit edit = GetDlgItem(IDC_EDIT_MBB_LOGIN_PSW);
- nLen = edit.GetWindowTextLength();
- edit.GetWindowText(m_strLoginPassword.GetBuffer(nLen), nLen + 1);
- m_strLoginPassword.ReleaseBuffer();
- }
- {
- CEdit edit = GetDlgItem(IDC_EDIT_MBB_WLAN_SSID);
- nLen = edit.GetWindowTextLength();
- edit.GetWindowText(m_strWlanSSID.GetBuffer(nLen), nLen + 1);
- m_strWlanSSID.ReleaseBuffer();
- }
- {
- CEdit edit = GetDlgItem(IDC_EDIT_MBB_WLAN_PSW);
- nLen = edit.GetWindowTextLength();
- edit.GetWindowText(m_strWlanPassword.GetBuffer(nLen), nLen + 1);
- m_strWlanPassword.ReleaseBuffer();
- }
- CButton btnCheck = GetDlgItem(IDC_CHECK_WLAN_HIDDEN);
- m_fHidden = (btnCheck.GetCheck() != 0);
- }
- CMobileDlg* m_pDlg;
- };
- class CMobileDlg : public ATL::CAxDialogImpl<CMobileDlg>, public CWinDataExchange<CMobileDlg>
- {
- public:
- enum { IDD = IDD_MAINDLG };
- CMobileDlg(CMobileDialEntity* pEntity); // standard constructor
- ~CMobileDlg();
- BEGIN_DDX_MAP(CMobileDlg)
- //DDX_CONTROL_HANDLE(IDC_EDIT_USER, m_edtUser)
- DDX_TEXT(IDC_EDIT_USER, m_strUserName)
- //DDX_CONTROL_HANDLE(IDC_EDIT_PASSWORD, m_edtPassword)
- DDX_TEXT(IDC_EDIT_PASSWORD, m_strPassword)
- //DDX_TEXT(IDC_EDIT_PROFILE, m_strProfileDesc)
- DDX_TEXT(IDC_EDIT_PHONENUM, m_strPhoneNum)
- DDX_CONTROL_HANDLE(IDC_EDIT_APN, m_edtAPN)
- DDX_CONTROL_HANDLE(IDC_BUTTON_CONNECT, m_btnConnect)
- DDX_CONTROL_HANDLE(IDC_BUTTON_EXPAND, m_btnExpand)
- DDX_CONTROL_HANDLE(IDC_BUTTON_CLEAR, m_btnClear)
- DDX_CONTROL_HANDLE(IDC_CHECK_APN_APPLY, m_btnApply)
- DDX_CONTROL_HANDLE(IDC_CHECK_MNTBYRVC, m_btnAutoManage)
- DDX_CONTROL_HANDLE(IDC_COMBO_PROFILES, m_comboProfiles)
- DDX_CONTROL_HANDLE(IDC_COMBO_GTYPE, m_comboCntType)
- DDX_CONTROL_HANDLE(IDC_COMBO_CON_MODE, m_comboModeType)
- DDX_CONTROL_HANDLE(IDC_COMBO_CON_IPTYPE, m_comboIPType)
- DDX_CONTROL_HANDLE(IDC_COMBO_PONT_TYPE, m_comboPointType)
- DDX_CONTROL_HANDLE(IDC_COMBO_CON_BAND, m_comboBandType)
- END_DDX_MAP()
- BEGIN_MSG_MAP(CMobileDlg)
- MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
- COMMAND_ID_HANDLER(IDOK, OnOK)
- COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
- COMMAND_ID_HANDLER(IDC_BUTTON_QUIT, OnCancel)
- COMMAND_ID_HANDLER(IDC_BUTTON_MBB_CONFIG, OnWlanConfigOpen)
- COMMAND_HANDLER(IDC_BUTTON_CONNECT, BN_CLICKED, OnConnect)
- MSG_WM_CTLCOLORSTATIC(OnCtlColorStatic)
- MESSAGE_HANDLER_EX(WM_ADD_PROFILE_RESULT, OnProfileResult)
- MESSAGE_HANDLER_EX(WM_UPDATE_PROFILE_RESULT, OnProfileResult)
- MESSAGE_HANDLER_EX(WM_DELETE_PROFILE_RESULT, OnProfileResult)
- MESSAGE_HANDLER_EX(WM_DIAL_RESULT, OnConnectResult)
- MESSAGE_HANDLER_EX(WM_DIAL_DISCONNECT, OnDisConnectResult)
- MESSAGE_HANDLER_EX(WM_SIGNAL_CHANGE, OnSignalChanged)
- MESSAGE_HANDLER_EX(WM_DONGLE_CHANGE, OnDeviceChanged)
- MESSAGE_HANDLER_EX(WM_FATALMESSAGE_CHANGE, OnFatalMsgChanged)
- MESSAGE_HANDLER_EX(WM_CONNECT_WLAN_RESULT, OnWlanConnectResult)
- MESSAGE_HANDLER(WM_TIMER, OnCustomTimer)
- COMMAND_HANDLER(IDC_BUTTON_APN_STORE, BN_CLICKED, OnBnClickedButtonApnStore)
- COMMAND_HANDLER(IDC_COMBO_DONGLE, CBN_SELCHANGE, OnCbnSelchangeComboDongle)
- COMMAND_HANDLER(IDC_BUTTON_EXPAND, BN_CLICKED, OnBnClickedButtonExpand)
- COMMAND_HANDLER(IDC_CHECK_MNTBYRVC, BN_CLICKED, OnBnClickedCheckMntbyrvc)
- COMMAND_HANDLER(IDC_BUTTON_DROPUP, BN_CLICKED, OnBnClickedButtonDropup)
- COMMAND_HANDLER(IDC_BUTTON_CLEAR, BN_CLICKED, OnBnClickedButtonClear)
- COMMAND_HANDLER(IDC_BUTTON_DEFAULT_CONNECT, BN_CLICKED, OnBnClickedButtonDefaultConnect)
- COMMAND_HANDLER(IDC_COMBO_PROFILES, CBN_SELCHANGE, OnCbnSelchangeComboProfiles)
- COMMAND_HANDLER(IDC_BUTTON_DELETE, BN_CLICKED, OnBnClickedButtonDelete)
- COMMAND_HANDLER(IDC_COMBO_GTYPE, CBN_SELCHANGE, OnCbnSelchangeComboGtype)
- COMMAND_HANDLER(IDC_CHECK_VIEW_PASSWORD, BN_CLICKED, OnBnClickedCheckViewPassword)
- //ALT_MSG_MAP(1)
- //MSG_WM_SETFOCUS(OnSetFocus)
- //MSG_WM_KILLFOCUS(OnKillFocus)
- COMMAND_HANDLER(IDC_EDIT_PROFILE, EN_SETFOCUS, OnEnSetfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_PROFILE, EN_KILLFOCUS, OnEnKillfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_APN, EN_SETFOCUS, OnEnSetfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_APN, EN_KILLFOCUS, OnEnKillfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_USER, EN_SETFOCUS, OnEnSetfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_USER, EN_KILLFOCUS, OnEnKillfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_PASSWORD, EN_SETFOCUS, OnEnSetfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_PASSWORD, EN_KILLFOCUS, OnEnKillfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_PHONENUM, EN_SETFOCUS, OnEnSetfocusEdit)
- COMMAND_HANDLER(IDC_EDIT_PHONENUM, EN_KILLFOCUS, OnEnKillfocusEdit)
- COMMAND_RANGE_HANDLER(IDC_RADIO_3G, IDC_RADIO_WEB, OnSelAdvancedChange)
- COMMAND_RANGE_HANDLER(IDC_RADIO_MBB_WIRE, IDC_RADIO_MBB_WLAN, OnSelMBBChange)
- END_MSG_MAP()
- // Handler prototypes (uncomment arguments if needed):
- // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
- // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
- // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
- LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
- LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //拨号连接与断开连接/切换卡槽
- LRESULT OnConnect(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
-
- HBRUSH OnCtlColorStatic(CDCHandle dc, CStatic wndStatic);
- void SetDlgSizeToSmall(void);
- void SetDlgSizeToLarge(void);
- void HideRedundance(void);
- void MoveDlgItems(BOOL bShow = TRUE);
- void OnSetFocus(HWND hWnd);
- void OnKillFocus(HWND hWnd);
- LRESULT OnDisConnectResult(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnSignalChanged(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnDeviceChanged(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnFatalMsgChanged(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnWlanConnectResult(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnProfileResult(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnConnectResult(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT OnCustomTimer(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
- LRESULT OnSelAdvancedChange(WORD wNotifyCode, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnSelMBBChange(WORD wNotifyCode, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnWlanConfigOpen(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //CEdit m_edtUser;
- //CEdit m_edtPassword;
- CEdit m_edtAPN;
- CString m_strProfileDesc;
- CString m_strUserName;
- CString m_strPassword;
- CString m_strPhoneNum;
- CStatic m_stcSignal;
- CButton m_btnConnect;
- CButton m_btnExpand;
- CButton m_btnApply;
- CButton m_btnAutoManage;
- CButton m_btnClear;
- CComboBox m_comboBandType;
- CComboBox m_comboProfiles;
- //登录类型
- CComboBox m_comboModeType;
- // IP类型
- CComboBox m_comboIPType;
- // 接入点类型
- CComboBox m_comboPointType;
-
- // 拨号方式
- CComboBox m_comboCntType;
- CComboBox m_comboDongles;
- CProgressBar m_ProgressBar;
- //HICON m_hIconNA;
- //HICON m_hIconEDEG1;
- //HICON m_hIconEDEG2;
- //HICON m_hIconEDEG3;
- //HICON m_hIconEDEG4;
- //HICON m_hIconEDEG5;
- bool m_bConnected;
- int m_nWhoConnected;
- int m_nGenType;
- int m_nReversedType;
- //ATL::CContainedWindow m_cw1;
- //ATL::CContainedWindow m_cw2;
- //ATL::CContainedWindow m_cw3;
- //ATL::CContainedWindow m_cw4;
- //ATL::CContainedWindow m_cw5;
- //ATL::CContainedWindow m_cw6;
- MBBParams m_sReverseMBBParam;
- MBBParams m_sMBBParam;
- private:
- bool OpenVirtualKeyboard();
- bool CloseVirtualKeyboard();
- void InitializeControls();
- void UpdateDongles();
- void EnableControls(BOOL bEnable = TRUE);
- inline void EnterProgressBar(DWORD dwTimeout = INFINITE, DWORD nTimerID = WM_TIMER_PROCESS);
- inline void LeaveProgressBar(DWORD nTimerID = WM_TIMER_PROCESS);
- void TriggerConnectState(int cntState);
- void ShowProfileCreateCtrl(BOOL bShow = TRUE);
- inline void ClearProfileEdit();
- void _ClearProfileTxt();
- int GetInterfaceIdInCombo(CSimpleStringA& strCurDongle, bool bSlient = true);
- BOOL HasUpdatedMBBParam();
- protected:
- CMobileDialEntity* m_pEntity;
- BOOL m_localSIM;
- USHORT m_dongleType;
- public:
- LRESULT OnBnClickedButtonApnStore(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //选择网卡时会调用
- LRESULT OnCbnSelchangeComboDongle(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //点击展开配置时会调用
- LRESULT OnBnClickedButtonExpand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnBnClickedCheckMntbyrvc(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnBnClickedButtonDropup(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //新建或清除配置内容时会调用
- LRESULT OnBnClickedButtonClear(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnBnClickedButtonDefaultConnect(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //选择配置文件条目时会调用
- LRESULT OnCbnSelchangeComboProfiles(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnBnClickedButtonDelete(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- //绑定到IDC_COMBO_GTYPE下拉选框
- LRESULT OnCbnSelchangeComboGtype(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnBnClickedCheckViewPassword(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnEnSetfocusEdit(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnEnKillfocusEdit(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- };
|