📄 opcserverdlg.cpp
字号:
//**************************************************************************
// Description: Dialog to select OPC server to connect.
//**************************************************************************
#include "stdafx.h"
#include "OPCServerDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// OPCServerDlg dialog
OPCServerDlg::OPCServerDlg(CWnd* pParent /*=NULL*/)
: CDialog(OPCServerDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(OPCServerDlg)
m_Server = _T("");
//}}AFX_DATA_INIT
}
void OPCServerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(OPCServerDlg)
DDX_LBString(pDX, IDC_SERVER_LIST, m_Server);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(OPCServerDlg, CDialog)
//{{AFX_MSG_MAP(OPCServerDlg)
#ifdef REV_12
ON_LBN_DBLCLK(IDC_SERVER_LIST, OnDblclkServerList)
#endif // REV_12
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// OPCServerDlg message handlers
const int MAX_KEYLEN = 256;
//**************************************************************************
BOOL OPCServerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CListBox* list = (CListBox*)GetDlgItem( IDC_SERVER_LIST );
HKEY hk = HKEY_CLASSES_ROOT;
TCHAR key[MAX_KEYLEN];
for( int index=0; RegEnumKey(hk, index, key, MAX_KEYLEN)==ERROR_SUCCESS; index++)
{
HKEY hProgID;
TCHAR dummy[MAX_KEYLEN];
if(RegOpenKey(hk, key, &hProgID )==ERROR_SUCCESS )
{
LONG size=MAX_KEYLEN;
if(RegQueryValue(hProgID, _T("OPC"), dummy, &size)==ERROR_SUCCESS )
{
TCHAR desc[MAX_KEYLEN];
size=MAX_KEYLEN;
RegQueryValue(hk, key, desc, &size);
list->AddString( key );
}
RegCloseKey( hProgID );
}
}
if( list->GetCount() > 0 )
list->SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
#ifdef REV_12
//**************************************************************************
// allow double-click selection on a server
void OPCServerDlg::OnDblclkServerList()
{
OnOK();
}
#endif // REV_12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -