selectlinkformatdlg.cpp

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C++ 代码 · 共 125 行

CPP
125
字号
// SelectLinkFormatDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SelectLinkFormatDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSelectLinkFormatDlg dialog


CSelectLinkFormatDlg::CSelectLinkFormatDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSelectLinkFormatDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSelectLinkFormatDlg)
	m_nSelType = 0;
	m_strLinkFormat = _T("");
	//}}AFX_DATA_INIT
}


void CSelectLinkFormatDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSelectLinkFormatDlg)
	DDX_Control(pDX, IDC_COM_LINKFORMAT, m_comCtrl);
	DDX_Radio(pDX, IDC_SELECT_FORMTA, m_nSelType);
	DDX_Text(pDX, IDC_LINK_FORMAT, m_strLinkFormat);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSelectLinkFormatDlg, CDialog)
	//{{AFX_MSG_MAP(CSelectLinkFormatDlg)
	ON_BN_CLICKED(IDC_DIR_EDIT, OnDirEdit)
	ON_BN_CLICKED(IDC_SELECT_FORMTA, OnSelectFormta)
	ON_BN_CLICKED(IDC_EDIT, OnEdit)
	ON_CBN_SELCHANGE(IDC_COM_LINKFORMAT, OnSelchangeComLinkformat)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSelectLinkFormatDlg message handlers

void CSelectLinkFormatDlg::OnDirEdit() 
{
	CEdit * pEdit = (CEdit *)GetDlgItem(IDC_LINK_FORMAT) ;	
	pEdit->SetReadOnly(false);//可以编辑
	
	CWnd * pWnd = GetDlgItem(IDC_COM_LINKFORMAT);
	pWnd->EnableWindow(false);//不能选择
}

void CSelectLinkFormatDlg::OnSelectFormta() 
{
	CEdit * pEdit = (CEdit *)GetDlgItem(IDC_LINK_FORMAT) ;	
	pEdit->SetReadOnly(true);//不能编辑
	
	CWnd * pWnd = GetDlgItem(IDC_COM_LINKFORMAT);
	pWnd->EnableWindow(true);//可以选择
}

void CSelectLinkFormatDlg::OnEdit() 
{
	//新增编辑删除已有链接格式
	CEditLinkFormatDlg dlg;
	dlg.DoModal();
    
	UpDateFromDB();
}

bool CSelectLinkFormatDlg::UpDateFromDB()
{
	CString strSelWebName ;
	
	m_mWebName_LinkFormat.RemoveAll();
    m_comCtrl.ResetContent();

	CWebInfoSet rs ;
	rs.Open();
	while(!rs.IsEOF())
	{
		if(strSelWebName.IsEmpty())
			strSelWebName = rs.m_WebName;//第一种链接格式
		m_mWebName_LinkFormat[rs.m_WebName] = rs.m_LinkFormat ;
		m_comCtrl.AddString(rs.m_WebName);
		rs.MoveNext();
	}
	rs.Close();

	m_comCtrl.SelectString(0,strSelWebName);
	m_strLinkFormat = m_mWebName_LinkFormat[strSelWebName];
	UpdateData(false);

	return true;
}

BOOL CSelectLinkFormatDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	UpDateFromDB();

	CEdit * pEdit = (CEdit *)GetDlgItem(IDC_LINK_FORMAT) ;	
	pEdit->SetReadOnly(true);
		
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSelectLinkFormatDlg::OnSelchangeComLinkformat() 
{
	int nSel = m_comCtrl.GetCurSel();
	CString strWebName ;
	m_comCtrl.GetLBText(nSel,strWebName);
	m_strLinkFormat = m_mWebName_LinkFormat[strWebName];
	UpdateData(false);
}
		

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?