2024-12-21 10:04:04 +08:00
|
|
|
|
// ConnectionDialog.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
#include "ServiceMonitor.h"
|
|
|
|
|
|
#include "ConnectionDialog.h"
|
|
|
|
|
|
#include "SubControlBaseView.h"
|
|
|
|
|
|
#include "ConfigMngr.h"
|
|
|
|
|
|
#include "NetConnection.h"
|
|
|
|
|
|
#include "VarArg.hpp"
|
|
|
|
|
|
#include "MainFrm.h"
|
|
|
|
|
|
#include "NetConnection.h"
|
|
|
|
|
|
#include "BasePartitionView.h"
|
|
|
|
|
|
|
|
|
|
|
|
// CConnectionDialog <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
|
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CConnectionDialog, CDialog)
|
|
|
|
|
|
|
|
|
|
|
|
CConnectionDialog::CConnectionDialog(CWnd* pParent /*=NULL*/)
|
|
|
|
|
|
: CDialog(CConnectionDialog::IDD, pParent)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CConnectionDialog::~CConnectionDialog()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
|
{
|
|
|
|
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
|
|
DDX_Control(pDX, IDC_IPADDRESS_SVMN, m_IpAddress);
|
|
|
|
|
|
DDX_Control(pDX, IDC_PORT_SVMN, m_PortNo);
|
|
|
|
|
|
DDX_Control(pDX, IDC_ID_SVMN, m_ID);
|
|
|
|
|
|
DDX_Control(pDX, IDC_PASS_SVMN, m_Pass);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CConnectionDialog, CDialog)
|
|
|
|
|
|
ON_WM_TIMER()
|
|
|
|
|
|
ON_WM_DESTROY()
|
|
|
|
|
|
ON_BN_CLICKED(IDC_CNNDLG_CONNECT, &CConnectionDialog::OnBnClickedButtonConnect)
|
|
|
|
|
|
ON_BN_CLICKED(IDC_CNNDLG_DISCONNECT, &CConnectionDialog::OnBnClickedButtonDisconnect)
|
|
|
|
|
|
ON_BN_CLICKED(IDC_CNNDLG_CANCEL, &CConnectionDialog::OnBnClickedCnndlgCancel)
|
|
|
|
|
|
ON_WM_PAINT()
|
|
|
|
|
|
ON_WM_SIZE()
|
|
|
|
|
|
ON_WM_LBUTTONDOWN()
|
|
|
|
|
|
ON_WM_CLOSE()
|
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::SaveConfig()
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
DWORD aIpAddress;
|
|
|
|
|
|
|
|
|
|
|
|
m_IpAddress.GetAddress(aIpAddress);
|
|
|
|
|
|
|
|
|
|
|
|
CConfigMngr::GetInstancePtr()->m_IpAddress.Set(static_cast<UINT>(::htonl(aIpAddress)));
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
|
|
|
|
|
|
|
TCHAR aPortNo[8] = { _T('\0'), };
|
|
|
|
|
|
|
|
|
|
|
|
m_PortNo.GetWindowText(aPortNo, _countof(aPortNo));
|
|
|
|
|
|
|
|
|
|
|
|
CConfigMngr::GetInstancePtr()->m_PortNo = static_cast<WORD>(_ttoi(aPortNo));
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
|
|
|
|
|
|
|
TCHAR aID[SMIDLENMAX+1] = { _T('\0'), };
|
|
|
|
|
|
|
|
|
|
|
|
m_ID.GetWindowText(aID, _countof(aID));
|
|
|
|
|
|
|
|
|
|
|
|
CConfigMngr::GetInstancePtr()->m_ID = aID;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::EnableButton(BOOL pIsConnect)
|
|
|
|
|
|
{
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_CONNECT)->EnableWindow(!pIsConnect);
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_DISCONNECT)->EnableWindow(pIsConnect);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CString CConnectionDialog::GetID() const
|
|
|
|
|
|
{
|
|
|
|
|
|
CString aRetVal;
|
|
|
|
|
|
|
|
|
|
|
|
TCHAR aID[SMIDLENMAX+1] = { _T('\0'), };
|
|
|
|
|
|
|
|
|
|
|
|
m_ID.GetWindowText(aID, _countof(aID));
|
|
|
|
|
|
|
|
|
|
|
|
aRetVal = aID;
|
|
|
|
|
|
|
|
|
|
|
|
return aRetVal;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CString CConnectionDialog::GetPass() const
|
|
|
|
|
|
{
|
|
|
|
|
|
CString aRetVal;
|
|
|
|
|
|
|
|
|
|
|
|
TCHAR aPass[SMPASSLENMAX+1] = { _T('\0'), };
|
|
|
|
|
|
|
|
|
|
|
|
m_Pass.GetWindowText(aPass, _countof(aPass));
|
|
|
|
|
|
|
|
|
|
|
|
aRetVal = aPass;
|
|
|
|
|
|
|
|
|
|
|
|
return aRetVal;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CConnectionDialog <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CConnectionDialog::OnInitDialog()
|
|
|
|
|
|
{
|
|
|
|
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
CenterWindow();
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
m_IpAddress.SetAddress(::htonl(CConfigMngr::GetInstancePtr()->m_IpAddress.GetDecimal()));
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
|
|
|
|
|
|
|
m_PortNo.SetWindowText(I2T(CConfigMngr::GetInstancePtr()->m_PortNo));
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
m_ID.SetWindowText(CConfigMngr::GetInstancePtr()->m_ID);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SetTimer(EV_TMD_UPDATECONNECTDIALOG, g_TimerInterval[EV_TMD_UPDATECONNECTDIALOG - EV_TIMERID_DEF], NULL);
|
|
|
|
|
|
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: OCX <20>Ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CConnectionDialog::PreTranslateMessage(MSG* pMsg)
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
switch(pMsg->message) {
|
|
|
|
|
|
case WM_KEYDOWN:
|
|
|
|
|
|
{
|
|
|
|
|
|
switch(pMsg->wParam) {
|
|
|
|
|
|
case VK_ESCAPE:
|
|
|
|
|
|
// return TRUE; // ESC Ű<><C5B0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>â <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (CDialog::OnCancel() ȣ<> <20>Բ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>)
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return CDialog::PreTranslateMessage(pMsg);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnOK()
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
// CDialog::OnOK();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnCancel()
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
SaveConfig();
|
|
|
|
|
|
|
|
|
|
|
|
CDialog::OnCancel();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnTimer(UINT_PTR nIDEvent)
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
|
switch(nIDEvent) {
|
|
|
|
|
|
case EV_TMD_UPDATECONNECTDIALOG:
|
|
|
|
|
|
{
|
|
|
|
|
|
DWORD aIpAddress = 0;
|
|
|
|
|
|
m_IpAddress.GetAddress(aIpAddress);
|
|
|
|
|
|
ULONG nConID = ::htonl(aIpAddress);
|
|
|
|
|
|
|
|
|
|
|
|
CNetConnection* pNetConnection = CNetConnectionMgr::GetInstancePtr()->GetConnection (nConID);
|
|
|
|
|
|
|
|
|
|
|
|
if (pNetConnection) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
CNetSession* pNetSession = pNetConnection->GetSession();
|
|
|
|
|
|
if (!pNetSession)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
if (pNetSession->IsConnect())
|
|
|
|
|
|
{
|
|
|
|
|
|
if (GetDlgItem(IDC_CNNDLG_CONNECT)->IsWindowEnabled())
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_CONNECT)->EnableWindow(FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
if (!GetDlgItem(IDC_CNNDLG_DISCONNECT)->IsWindowEnabled())
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_DISCONNECT)->EnableWindow(TRUE);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!GetDlgItem(IDC_CNNDLG_CONNECT)->IsWindowEnabled())
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_CONNECT)->EnableWindow(TRUE);
|
|
|
|
|
|
|
|
|
|
|
|
if (GetDlgItem(IDC_CNNDLG_DISCONNECT)->IsWindowEnabled())
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_DISCONNECT)->EnableWindow(FALSE);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else // <20><><EFBFBD>ο<EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_CONNECT)->EnableWindow(TRUE);
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_DISCONNECT)->EnableWindow(TRUE);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CDialog::OnTimer(nIDEvent);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnDestroy()
|
|
|
|
|
|
{
|
|
|
|
|
|
CDialog::OnDestroy();
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
KillTimer(EV_TMD_UPDATECONNECTDIALOG);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnBnClickedButtonConnect()
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
DWORD aIpAddress = 0;
|
|
|
|
|
|
TCHAR aPortNo[8] = { _T('\0'), };
|
|
|
|
|
|
{
|
|
|
|
|
|
m_IpAddress.GetAddress(aIpAddress);
|
|
|
|
|
|
|
|
|
|
|
|
m_PortNo.GetWindowText(aPortNo, _countof(aPortNo));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (INADDR_ANY == aIpAddress || INADDR_NONE == aIpAddress)
|
|
|
|
|
|
{
|
|
|
|
|
|
::AfxMessageBox(_T("IP Address is not valid !"), MB_ICONERROR);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (0 == aPortNo)
|
|
|
|
|
|
{
|
|
|
|
|
|
::AfxMessageBox(_T("Port Number is not valid !"), MB_ICONERROR);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ULONG nConID = ::htonl(aIpAddress);
|
|
|
|
|
|
CNetConnection* pNetConnection = CNetConnectionMgr::GetInstancePtr()->GetConnection (nConID);
|
|
|
|
|
|
|
|
|
|
|
|
if (pNetConnection) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
CNetSession* pNetSession = pNetConnection->GetSession();
|
|
|
|
|
|
if (!pNetSession)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
DWORD dwRetVal = pNetSession->Connect(::htonl(static_cast<UINT>(aIpAddress)), static_cast<WORD>(_ttoi(aPortNo)));
|
|
|
|
|
|
if (NOERROR != dwRetVal)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
}
|
|
|
|
|
|
else // ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
// <20>Ʒ<EFBFBD> ȣ<><C8A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><DBB5>մϴ<D5B4>.
|
|
|
|
|
|
pNetConnection = CNetConnectionMgr::GetInstancePtr()->CreateConnection();
|
|
|
|
|
|
if (!pNetConnection)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
CNetSession* pNetSession = pNetConnection->GetSession();
|
|
|
|
|
|
if (!pNetSession)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
CMainFrame* pMainFrame = static_cast<CServiceMonitorApp*>(::AfxGetApp())->GetMainFrame();
|
|
|
|
|
|
if (!pMainFrame)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
CBasePartitionView* pPartitionView = pMainFrame->AddPartition (pNetConnection, nConID);
|
|
|
|
|
|
if (!pPartitionView)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
DWORD dwRetVal = pNetSession->Connect(::htonl(static_cast<UINT>(aIpAddress)), static_cast<WORD>(_ttoi(aPortNo)));
|
|
|
|
|
|
if (NOERROR != dwRetVal)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
pNetSession->SetConnect(true);
|
|
|
|
|
|
|
|
|
|
|
|
// Ŀ<><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
pPartitionView->SetConnectionID(nConID);
|
|
|
|
|
|
|
|
|
|
|
|
// Ŀ<>ؼǵ<D8BC><C7B5><EFBFBD>
|
|
|
|
|
|
CNetConnectionMgr::GetInstancePtr()->RegistConnection (pNetConnection);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_CNNDLG_CONNECT)->EnableWindow(FALSE);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnBnClickedButtonDisconnect()
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
DWORD aIpAddress = 0;
|
|
|
|
|
|
TCHAR aPortNo[8] = { _T('\0'), };
|
|
|
|
|
|
{
|
|
|
|
|
|
m_IpAddress.GetAddress(aIpAddress);
|
|
|
|
|
|
|
|
|
|
|
|
m_PortNo.GetWindowText(aPortNo, _countof(aPortNo));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (INADDR_ANY == aIpAddress || INADDR_NONE == aIpAddress)
|
|
|
|
|
|
{
|
|
|
|
|
|
::AfxMessageBox(_T("IP Address is not valid !"), MB_ICONERROR);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (0 == aPortNo)
|
|
|
|
|
|
{
|
|
|
|
|
|
::AfxMessageBox(_T("Port Number is not valid !"), MB_ICONERROR);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ULONG nConID = ::htonl(aIpAddress);
|
|
|
|
|
|
CNetConnection* pNetConnection = CNetConnectionMgr::GetInstancePtr()->GetConnection (nConID);
|
|
|
|
|
|
|
|
|
|
|
|
if (pNetConnection) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
CNetSession* pNetSession = pNetConnection->GetSession();
|
|
|
|
|
|
if (!pNetSession)
|
|
|
|
|
|
BASE_RETURN_NONE;
|
|
|
|
|
|
|
|
|
|
|
|
if (pNetSession->IsConnect())
|
|
|
|
|
|
{
|
|
|
|
|
|
pNetSession->SetConnect(false);
|
|
|
|
|
|
pNetSession->Disconnect();
|
|
|
|
|
|
EnableButton(FALSE);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
AfxMessageBox(_T("Not Connected !"), MB_ICONERROR);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else // <20><><EFBFBD>ο<EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
AfxMessageBox(_T("Not Connected !"), MB_ICONERROR);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnBnClickedCnndlgCancel()
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
CConnectionDialog::OnCancel();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnPaint()
|
|
|
|
|
|
{
|
|
|
|
|
|
CPaintDC dc(this); // device context for painting
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
// <20><EFBFBD><D7B8><EFBFBD> <20><EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> CDialog::OnPaint()<29><>(<28><>) ȣ<><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ʽÿ<CABD>.
|
|
|
|
|
|
|
|
|
|
|
|
Graphics aGraphics(dc);
|
|
|
|
|
|
aGraphics.SetSmoothingMode(SmoothingModeHighQuality);
|
|
|
|
|
|
|
|
|
|
|
|
CRect aRect;
|
|
|
|
|
|
GetClientRect(&aRect);
|
|
|
|
|
|
|
|
|
|
|
|
// Draw Title
|
|
|
|
|
|
{
|
|
|
|
|
|
// Gradient Line
|
|
|
|
|
|
{
|
|
|
|
|
|
// Title 1
|
|
|
|
|
|
{
|
|
|
|
|
|
LinearGradientBrush aBrush(
|
|
|
|
|
|
Rect(
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_LFT,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_TOP,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_WTH,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_HGT
|
|
|
|
|
|
),
|
|
|
|
|
|
Color(100, 221, 221, 221),
|
|
|
|
|
|
Color(255, 120, 120, 120),
|
|
|
|
|
|
180.0f,
|
|
|
|
|
|
FALSE
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
aGraphics.FillRectangle(
|
|
|
|
|
|
&aBrush,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_LFT,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_TOP,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_WTH - 1,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_HGT
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Title 2
|
|
|
|
|
|
{
|
|
|
|
|
|
LinearGradientBrush aBrush(
|
|
|
|
|
|
Rect(
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_LFT,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_TOP,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_WTH,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_HGT
|
|
|
|
|
|
),
|
|
|
|
|
|
Color(100, 221, 221, 221),
|
|
|
|
|
|
Color(255, 120, 120, 120),
|
|
|
|
|
|
180.0f,
|
|
|
|
|
|
FALSE
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
aGraphics.FillRectangle(
|
|
|
|
|
|
&aBrush,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_LFT,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_TOP,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_WTH - 1,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_HGT
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Draw Text
|
|
|
|
|
|
{
|
|
|
|
|
|
LOGFONT aLogFont;
|
|
|
|
|
|
::memset(&aLogFont, 0x00, sizeof(aLogFont));
|
|
|
|
|
|
_tcsncpy_s(aLogFont.lfFaceName, _T("Arial"), LF_FACESIZE);
|
|
|
|
|
|
aLogFont.lfCharSet = DEFAULT_CHARSET;
|
|
|
|
|
|
aLogFont.lfHeight = 16;
|
|
|
|
|
|
aLogFont.lfWeight = FW_ULTRABOLD;
|
|
|
|
|
|
|
|
|
|
|
|
CFont aNewFont;
|
|
|
|
|
|
VERIFY(aNewFont.CreateFontIndirect(&aLogFont));
|
|
|
|
|
|
CFont* aOldFont = dc.SelectObject(&aNewFont);
|
|
|
|
|
|
|
|
|
|
|
|
COLORREF aOldTxColor = dc.SetTextColor(RGB(255, 255, 255));
|
|
|
|
|
|
int aOldBkMode = dc.SetBkMode(TRANSPARENT);
|
|
|
|
|
|
|
|
|
|
|
|
// Title 1
|
|
|
|
|
|
{
|
|
|
|
|
|
CRect aRect(
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_LFT + EV_UIS_TITLETEXT_1_PAD_X,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_TOP,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_LFT + EV_UIS_TITLELINE_1_WTH,
|
|
|
|
|
|
EV_UIS_TITLELINE_1_PAD_TOP + EV_UIS_TITLELINE_1_HGT
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
dc.DrawText(_T("Dragon Nest"), &aRect, DT_LEFT | DT_VCENTER);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Title 2
|
|
|
|
|
|
{
|
|
|
|
|
|
CRect aRect(
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_LFT + EV_UIS_TITLETEXT_2_PAD_X,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_TOP,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_LFT + EV_UIS_TITLELINE_2_WTH,
|
|
|
|
|
|
EV_UIS_TITLELINE_2_PAD_TOP + EV_UIS_TITLELINE_2_HGT
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
dc.DrawText(_T("Service Monitor"), &aRect, DT_LEFT | DT_VCENTER);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
dc.SetTextColor(aOldTxColor);
|
|
|
|
|
|
dc.SetBkMode(aOldBkMode);
|
|
|
|
|
|
|
|
|
|
|
|
dc.SelectObject(aOldFont);
|
|
|
|
|
|
aNewFont.DeleteObject();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnSize(UINT nType, int cx, int cy)
|
|
|
|
|
|
{
|
|
|
|
|
|
CDialog::OnSize(nType, cx, cy);
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnLButtonDown(UINT nFlags, CPoint point)
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
CDialog::OnLButtonDown(nFlags, point);
|
|
|
|
|
|
|
|
|
|
|
|
PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); // WM_NCHITTEST <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD>콺 <20><>ư <20>̺<EFBFBD>Ʈ <20>ޱ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CConnectionDialog::OnClose()
|
|
|
|
|
|
{
|
|
|
|
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
|
|
|
|
|
|
|
SaveConfig();
|
|
|
|
|
|
|
|
|
|
|
|
CDialog::OnClose();
|
|
|
|
|
|
}
|