📄 segment.cpp
字号:
// Segment.cpp : implementation file
//
#include "stdafx.h"
#include "wgl_32.h"
#include "Segment.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSegment dialog
CSegment::CSegment(CWnd* pParent /*=NULL*/)
: CDialog(CSegment::IDD, pParent)
{
strFormat = _T("% 7d");
strShow = _T("\t显示");
strHide = _T("\t隐藏");
//{{AFX_DATA_INIT(CSegment)
m_edit = 0;
m_editmax = 200;
//}}AFX_DATA_INIT
}
void CSegment::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSegment)
DDX_Control(pDX, IDC_QUYU, m_QuyuList);
DDX_Control(pDX, IDC_SPIN, m_spinctrl);
DDX_Text(pDX, IDC_EDIT, m_edit);
DDV_MinMaxDWord(pDX, m_edit, 0, m_editmax);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSegment, CDialog)
//{{AFX_MSG_MAP(CSegment)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_DEL, OnDel)
ON_LBN_DBLCLK(IDC_QUYU, OnDblclkQuyu)
ON_BN_CLICKED(IDSHOWHIDE, OnShowhide)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSegment message handlers
void CSegment::OnAdd()
{
if(!UpdateData( TRUE ))
return;
CString str,strTemp;
strTemp.Format(strFormat, m_edit);
for(int i=0; i<m_QuyuList.GetCount(); i++)
{
m_QuyuList.GetText(i, str);
if(str.Find( strTemp ) > -1)
{
// strTemp.TrimLeft();
// strTemp += _T(" 在显示区间端点的列表中已经存在!");
// MessageBox( strTemp,"注意",MB_ICONINFORMATION|MB_OK );
return;
}
}
strTemp += strShow;
m_QuyuList.AddString( strTemp );
}
void CSegment::OnDel()
{
if(!UpdateData( TRUE ))
return;
CString str,strTemp;
if(m_edit == 0 || m_edit == m_editmax)
{
str=_T("不能从显示区间端点的列表中删除这个点!");
MessageBox( str,"注意:",MB_ICONEXCLAMATION|MB_OK );
return;
}
strTemp.Format(strFormat, m_edit);
CString s=_T("显示在区间端点的列表中没有这个点!");
for(int i=0; i<m_QuyuList.GetCount(); i++)
{
m_QuyuList.GetText(i, str);
if(str.Find( strTemp ) > -1)
{
m_QuyuList.DeleteString( i );
return;
// s=_T("已经从显示区间端点的列表中删除了这个点!");
// break;
}
}
MessageBox( s,"注意",MB_ICONINFORMATION|MB_OK );
}
void CSegment::OnDblclkQuyu()
{
CString strTemp;
int sl = m_QuyuList.GetCurSel();
int index = m_QuyuList.GetCount();
if(sl == LB_ERR || sl == index-1) return;
m_QuyuList.GetText(sl,strTemp);
m_QuyuList.DeleteString( sl );
index = strTemp.Find(strShow);
if(index==-1)
{
index = strTemp.Find( strHide );
strTemp = strTemp.Left(index)+strShow;
}
else
strTemp = strTemp.Left(index)+strHide;
m_QuyuList.AddString(strTemp);
m_QuyuList.SetCurSel( sl );
}
void CSegment::OnShowhide()
{
CString strTemp;
int sl = m_QuyuList.GetCurSel();
int index = m_QuyuList.GetCount();
if(sl == LB_ERR || sl == index-1) return;
m_QuyuList.GetText(sl,strTemp);
m_QuyuList.DeleteString( sl );
index = strTemp.Find(strShow);
if(index==-1)
{
index = strTemp.Find( strHide );
strTemp = strTemp.Left(index)+strShow;
}
else
strTemp = strTemp.Left(index)+strHide;
m_QuyuList.AddString(strTemp);
m_QuyuList.SetCurSel( sl );
}
void CSegment::OnOK()
{
CString strTemp;
int count = m_QuyuList.GetCount();
for(int i=0; i<count; i++)
{
m_QuyuList.GetText(i,strTemp);
List.Add( strTemp );
}
CDialog::OnOK();
}
BOOL CSegment::OnInitDialog()
{
CDialog::OnInitDialog();
m_spinctrl.SetPos( 2 );
m_spinctrl.SetRange(2, m_editmax-3);
m_QuyuList.SetTabStops();
int count = List.GetSize();
for(int i=0; i<count; i++)
m_QuyuList.AddString( List[i] );
List.RemoveAll();
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -