?? browseserversdlg.cpp
字號:
// BrowseServersDlg.cpp : implementation file
//
#include "stdafx.h"
#include "RcMSSQL.h"
#include "BrowseServersDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBrowseServersDlg dialog
CBrowseServersDlg::CBrowseServersDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBrowseServersDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBrowseServersDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_strErrorMessage=_T("");
m_parrServersList=NULL;
m_strServerName=_T("");
}
void CBrowseServersDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBrowseServersDlg)
DDX_Control(pDX, IDC_LIST_SERVERS, m_listServers);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBrowseServersDlg, CDialog)
//{{AFX_MSG_MAP(CBrowseServersDlg)
ON_NOTIFY(NM_DBLCLK, IDC_LIST_SERVERS, OnDblclkListServers)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBrowseServersDlg message handlers
BOOL CBrowseServersDlg::OnInitDialog()
{
CDialog::OnInitDialog();
if (m_parrServersList == NULL) /* Cannot be NULL */
{
m_strErrorMessage.Format("%s", "無法得到SQL SERVER服務器列表!");
MessageBox(m_strErrorMessage, "信息...", MB_OK);
CDialog::OnCancel();
}
// |LVS_EX_GRIDLINES(網格)
// |LVS_SHOWSELALWAYS(高亮)
// |LVS_EX_FLATSB(滑動條透明)
// |LVS_EX_CHECKBOXES
DWORD dwStyle;
dwStyle=m_listServers.GetExtendedStyle();
m_listServers.SetExtendedStyle(dwStyle|LVS_EX_FULLROWSELECT);
// CFont font;
// font.CreateFont(14,0,0,0,9,FALSE,FALSE,9,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"Microsoft Sans Serif "); //宋體
// CFont font;
// font.CreatePointFont(100,"Microsoft Sans Serif");
// m_listServers.SetFont(&font,TRUE);
/* LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
lf.lfHeight = 14;
lf.lfWeight = 9;
strcpy(lf.lfFaceName, "Microsoft Sans Serif");
HFONT hfont = ::CreateFontIndirect(&lf);
CFont* font = CFont::FromHandle(hfont);
m_listServers.SetFont(font);*/
m_listServers.InsertColumn(0,"活動服務器",LVCFMT_LEFT,238);
long lServersAmount = m_parrServersList->GetSize();
for ( int i = 0; i < lServersAmount; i++ )
{
m_listServers.InsertItem(m_listServers.GetItemCount(), m_parrServersList->ElementAt(i));
}
m_listServers.SetSelectionMark(0);
m_listServers.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBrowseServersDlg::PostNcDestroy()
{
CDialog::PostNcDestroy();
}
void CBrowseServersDlg::OnOK()
{
if(!SetServerName())
{
MessageBox("請選擇一個活動服務器名!", "信息...", MB_OK);
return;
}
CDialog::OnOK();
}
void CBrowseServersDlg::OnCancel()
{
CDialog::OnCancel();
}
//////////////////////////////////////////////////////////////////////////////////////
// custom added
BOOL CBrowseServersDlg::SetServersList(CArray<CString, CString&>* parrServersList)
{
if (parrServersList == NULL) /* Cannot be NULL */
{
m_strErrorMessage.Format("%s", "無法得到SQL SERVER服務器列表!");
MessageBox(m_strErrorMessage, "信息...", MB_OK);
CDialog::OnCancel();
}
m_parrServersList = parrServersList;
return TRUE;
}
BOOL CBrowseServersDlg::SetServerName()
{
int nItem=m_listServers.GetSelectionMark();
if (nItem != -1)
m_strServerName=m_listServers.GetItemText(nItem,0);
else
return FALSE;
return TRUE;
}
void CBrowseServersDlg::OnDblclkListServers(NMHDR* pNMHDR, LRESULT* pResult)
{
// *pResult = 0;
if (!SetServerName())
{
MessageBox("請選擇一個活動服務器名!", "信息...", MB_OK);
return;
}
CDialog::OnOK();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -