📄 editdlg.cpp
字号:
// EditDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Route.h"
#include "EditDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CEditDlg dialog
CEditDlg::CEditDlg(CRouteDlg* pParent /*=NULL*/, MIB_IPFORWARDROW &entry)
: CDialog(CEditDlg::IDD, pParent), m_pParent(pParent), m_sEntry(entry)
{
//{{AFX_DATA_INIT(CEditDlg)
m_szDest = _T("");
m_szDestMask = _T("");
m_szGateway = _T("");
m_szMetric = _T("");
//}}AFX_DATA_INIT
m_bFullScreen = FALSE;
}
void CEditDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CEditDlg)
DDX_Control(pDX, IDC_CB_ADAPTER, m_cbAdapter);
DDX_Text(pDX, IDC_ED_DEST, m_szDest);
DDX_Text(pDX, IDC_ED_DESTMASK, m_szDestMask);
DDX_Text(pDX, IDC_ED_GATEWAY, m_szGateway);
DDX_Text(pDX, IDC_ED_METRIC, m_szMetric);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CEditDlg, CDialog)
//{{AFX_MSG_MAP(CEditDlg)
ON_WM_ACTIVATE()
ON_WM_SETTINGCHANGE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEditDlg message handlers
BOOL CEditDlg::OnInitDialog()
{
CDialog::OnInitDialog();
int nIndex;
const IP_ADAPTER_INFO *adapter;
adapter = m_pParent->m_sRouteHelper.m_pAdpTab;
for (; adapter != NULL; adapter = adapter->Next)
{
USES_CONVERSION;
nIndex = m_cbAdapter.AddString(A2T(adapter->AdapterName));
m_cbAdapter.SetItemData(nIndex, adapter->Index);
}
in_addr addr;
if(m_sEntry.dwForwardDest != 0)
{
USES_CONVERSION;
addr.S_un.S_addr = m_sEntry.dwForwardDest;
m_szDest = A2T(inet_ntoa(addr));
}
if(m_sEntry.dwForwardMask != 0)
{
USES_CONVERSION;
addr.S_un.S_addr = m_sEntry.dwForwardMask;
m_szDestMask = A2T(inet_ntoa(addr));
}
if(m_sEntry.dwForwardNextHop != 0)
{
USES_CONVERSION;
addr.S_un.S_addr = m_sEntry.dwForwardNextHop;
m_szGateway = A2T(inet_ntoa(addr));
}
if(m_sEntry.dwForwardMetric1 != 0)
{
m_szMetric.Format(_T("%d"), m_sEntry.dwForwardMetric1);
}
if(m_sEntry.dwForwardIfIndex != 0)
{
int nCount;
nCount = m_cbAdapter.GetCount();
for(int i = 0; i < nCount; i++)
{
if(m_cbAdapter.GetItemData(i) == m_sEntry.dwForwardIfIndex)
{
m_cbAdapter.SetCurSel(i);
break;
}
}
}
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CEditDlg::OnOK()
{
UpdateData();
if(m_szDest == "")
{
MessageBox(_T("目标地址不能为空!"), _T("提示"), MB_OK | MB_ICONINFORMATION);
return;
}
if(m_szDestMask == "")
{
MessageBox(_T("目标掩码不能为空!"), _T("提示"), MB_OK | MB_ICONINFORMATION);
return;
}
if(m_szGateway == "")
{
MessageBox(_T("网关不能为空!"), _T("提示"), MB_OK | MB_ICONINFORMATION);
return;
}
int nIndex = m_cbAdapter.GetCurSel();
if(nIndex < 0)
{
MessageBox(_T("必须制定接口!"), _T("提示"), MB_OK | MB_ICONINFORMATION);
return;
}
USES_CONVERSION;
m_sEntry.dwForwardDest = inet_addr(T2A(m_szDest));
m_sEntry.dwForwardMask = inet_addr(T2A(m_szDestMask));
m_sEntry.dwForwardNextHop = inet_addr(T2A(m_szGateway));
m_sEntry.dwForwardMetric1 = atoi(T2A(m_szMetric));
m_sEntry.dwForwardIfIndex = m_cbAdapter.GetItemData(nIndex);
CDialog::OnOK();
}
void CEditDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CWnd::OnActivate(nState, pWndOther, bMinimized);
}
void CEditDlg::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
{
CWnd::OnSettingChange(uFlags, lpszSection);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -