⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 segment.cpp

📁 VC环境下电力系统故障录波数据管理系统
💻 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 + -