?? disconnsvrdlg.cpp
字號:
// DisConnSvrDlg.cpp : implementation file
//
#include "stdafx.h"
#include "VCOPCClient.h"
#include "DisConnSvrDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDisConnSvrDlg dialog
CDisConnSvrDlg::CDisConnSvrDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDisConnSvrDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDisConnSvrDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDisConnSvrDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDisConnSvrDlg)
DDX_Control(pDX, IDC_LIST_CONNECTED_OPCSVR, m_listDisConnSvr);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDisConnSvrDlg, CDialog)
//{{AFX_MSG_MAP(CDisConnSvrDlg)
ON_BN_CLICKED(IDC_BUTTON_DISCONNALL, OnButtonDisconnall)
ON_LBN_DBLCLK(IDC_LIST_CONNECTED_OPCSVR, OnDblclkListConnectedOpcsvr)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDisConnSvrDlg message handlers
void CDisConnSvrDlg::OnButtonDisconnall()
{
//刪除列表中的標簽數(shù)據(jù)
CListCtrl& list = m_pView->GetListCtrl();
int ItemCount = list.GetItemCount();
for( int i = 0; i < ItemCount; ++i)
{
GROUPITEM* pData = (GROUPITEM*)list.GetItemData(i);
delete pData;
}
list.DeleteAllItems();
for( vector<CConnection*>::iterator iter = m_pView->m_Connections.begin();
iter != m_pView->m_Connections.end();
++iter)
{
Disconnect((*iter)->m_hServer);
delete (*iter);
}
m_pView->m_Connections.clear();
m_listDisConnSvr.ResetContent();
}
void CDisConnSvrDlg::OnDblclkListConnectedOpcsvr()
{
OnOK();
}
BOOL CDisConnSvrDlg::OnInitDialog()
{
CDialog::OnInitDialog();
for( vector<CConnection*>::iterator iter = m_pView->m_Connections.begin();
iter != m_pView->m_Connections.end();
++iter)
{
m_listDisConnSvr.AddString((*iter)->m_ServerName);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDisConnSvrDlg::OnOK()
{
int SelIndex = m_listDisConnSvr.GetCurSel();
if ( SelIndex >= 0 )
m_listDisConnSvr.GetText(SelIndex, m_DisSvr);
for( vector<CConnection*>::iterator iter = m_pView->m_Connections.begin();
iter != m_pView->m_Connections.end();
++iter)
{
if ( strcmp((*iter)->m_ServerName, m_DisSvr) == 0 )
{
//刪除列表中相應(yīng)的標簽
CListCtrl& list = m_pView->GetListCtrl();
int ItemCount = list.GetItemCount();
for( int i = ItemCount - 1; i >= 0; --i)
{
GROUPITEM* pData = (GROUPITEM*)list.GetItemData(i);
if (pData->hServer == (*iter)->m_hServer)
{
delete pData;
list.DeleteItem(i);
}
}
Disconnect((*iter)->m_hServer);
delete (*iter);
m_pView->m_Connections.erase(iter);
break;
}
}
CDialog::OnOK();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -