📄 adrdlg.cpp
字号:
// AdrDlg.cpp : implementation file
//
#include "stdafx.h"
#include "getlink.h"
#include "AdrDlg.h"
#include "GetLinkDoc.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAdrDlg dialog
CAdrDlg::CAdrDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAdrDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAdrDlg)
m_StrAdr = _T("");
m_StrMark = _T("");
m_IntRank = 0;
m_StrType2 = _T("");
m_StrType3 = _T("");
//}}AFX_DATA_INIT
m_StrTitle=_T("");
}
void CAdrDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdrDlg)
DDX_Control(pDX, IDC_ADR, m_Adr_Ctrl);
DDX_Control(pDX, IDC_TYPE3, m_ComboxType3);
DDX_Control(pDX, IDC_TYPE2, m_ComboxType2);
DDX_Text(pDX, IDC_ADR, m_StrAdr);
DDX_Text(pDX, IDC_MARK, m_StrMark);
DDX_Text(pDX, IDC_RANK, m_IntRank);
DDX_CBString(pDX, IDC_TYPE2, m_StrType2);
DDX_CBString(pDX, IDC_TYPE3, m_StrType3);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAdrDlg, CDialog)
//{{AFX_MSG_MAP(CAdrDlg)
ON_CBN_DROPDOWN(IDC_TYPE2, OnDropdownType2)
ON_CBN_DROPDOWN(IDC_TYPE3, OnDropdownType3)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdrDlg message handlers
BOOL CAdrDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
this->SetWindowText(LPCTSTR(m_StrTitle));
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAdrDlg::OnOK()
{
// TODO: Add extra validation here
//此处应进行输入值的校验,避免网址重复和空值
UpdateData();
if(m_StrAdr.IsEmpty())
{ int res=AfxMessageBox ("对不起,网址请勿为空值",MB_OKCANCEL);
if(res==IDOK)
m_Adr_Ctrl.SetFocus();
else
EndDialog (0);
}
if(!m_StrAdr.IsEmpty()&&m_StrTitle=="编辑网址")
EndDialog(1);
if(!m_StrAdr.IsEmpty()&&m_StrTitle=="新建网址")
{
CMainFrame *pFrame =(CMainFrame*)AfxGetApp()->m_pMainWnd;
CGetLinkDoc *pDoc=(CGetLinkDoc *)pFrame->GetActiveFrame()->GetActiveView()->GetDocument();
if(pDoc->set.FindItem(m_StrAdr)!=-1)
{
int res=AfxMessageBox ("对不起,该网址已存在",MB_OKCANCEL);
if(res==IDOK)
m_Adr_Ctrl.SetFocus();
else
EndDialog (0);
}
else
EndDialog(1);
}
// CDialog::OnOK();
}
void CAdrDlg::OnDropdownType2()
{
// TODO: Add your control notification handler code here
//如果配置ini文件存在,从中读出大类别值
CGetLinkApp * App = (CGetLinkApp*)AfxGetApp();
CString filename=App->m_FileName;
m_ComboxType2.ResetContent();
CHAR inBuf[10];
::GetPrivateProfileString("网址","Count",0,inBuf,10,(LPCTSTR)filename);
int nCount1=atol(inBuf);
if(nCount1<=0)
return;
for(int i=1;i<=nCount1;i++)
{
CHAR type1[20]; //返回大类别键值
char str[10];
itoa(i,str,10);
CString keyname="大类别"+CString(str);
::GetPrivateProfileString("网址",(LPCTSTR)keyname,"?",type1,20,(LPCTSTR)filename);
CString CStype1=(CString)type1;
if(CStype1.GetLength()>2) //大类别名至少应大于或等于两个字节,否则不显示 ,用此法删除或隐藏类别
m_ComboxType2.AddString((LPCTSTR)type1);
}
}
void CAdrDlg::OnDropdownType3()
{
// TODO: Add your control notification handler code here
CGetLinkApp * App = (CGetLinkApp*)AfxGetApp();
CString filename=App->m_FileName;
m_ComboxType3.ResetContent();
UpdateData(TRUE);
CString type1=m_StrType2;
CHAR inBuf[10];
::GetPrivateProfileString((LPCTSTR)type1,"Count",0,inBuf,10,(LPCTSTR)filename);
int nCount2=atol(inBuf);
if(nCount2>0)
{
for(int j=1;j<=nCount2;j++)
{
CHAR type2[20]; //返回小类别键值
char str2[10];
itoa(j,str2,10);
CString keyname2="小类别"+CString(str2);
::GetPrivateProfileString((LPCTSTR)type1,(LPCTSTR)keyname2,"?",type2,20,(LPCTSTR)filename);
CString CStype2=(CString)type2;
if(CStype2.GetLength()>2) //小类别至少应大于或等于两个字节
m_ComboxType3.AddString((LPCTSTR)type2);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -