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

📄 showsongdlg.cpp

📁 使用Visual C++ .NET实现简单了一个歌曲管理系统
💻 CPP
字号:
// ShowSongDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "Song.h"
#include "ShowSongDlg.h"
#include ".\showsongdlg.h"


// CShowSongDlg 对话框
IMPLEMENT_DYNAMIC(CShowSongDlg, CDialog)
CShowSongDlg::CShowSongDlg(CView * pView /*=NULL*/)
: m_Singer(_T(""))
, m_Time(_T(""))
, m_Other(_T(""))
{
	m_pView = pView;
}

CShowSongDlg::~CShowSongDlg()
{
	if( m_Set.IsOpen() )
		m_Set.Close();
}

void CShowSongDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT_SINGER, m_Singer);
	DDX_Text(pDX, IDC_EDIT_TIMER, m_Time);
	DDX_Text(pDX, IDC_EDIT_OTHER, m_Other);
	DDX_Control(pDX, IDC_LIST1, m_NameList);
}


BEGIN_MESSAGE_MAP(CShowSongDlg, CDialog)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
	ON_BN_CLICKED(IDC_BTUPDATE, OnBnClickedBtupdate)
	ON_LBN_SELCHANGE(IDC_LIST1, OnLbnSelchangeList1)
END_MESSAGE_MAP()


// CShowSongDlg 消息处理程序

BOOL CShowSongDlg::Create()
{
	return CDialog::Create(CShowSongDlg::IDD);
}

void CShowSongDlg::OnBnClickedCancel()
{
	if( m_pView != NULL )
		m_pView->PostMessage(WM_MYUSER_DLGEXIT);
	else
		OnCancel();
}

BOOL CShowSongDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	// TODO:  在此添加额外的初始化
	try
	{
		m_Set.Open();
	}
	catch(...)
	{
		MessageBox("数据库打开异常");
		return FALSE;
	}
	LoadSongName();
	if( m_NameList.GetCount() > 0 )
		m_NameList.SetCurSel(0);
	ShowCurData();

	return TRUE;  // return TRUE unless you set the focus to a control
}
// 读入歌名列表
void CShowSongDlg::LoadSongName()
{
	// 删除原有项
	while( m_NameList.GetCount() )
		m_NameList.DeleteString(0);

	if( m_Set.IsBOF() == false )
		m_Set.MoveFirst();
	// 读入所有数据
	while( !m_Set.IsEOF() )
	{
		// 为List 控件添加值
		m_NameList.AddString( m_Set.m_Name );
		m_Set.MoveNext();
	}
}

void CShowSongDlg::OnBnClickedBtupdate()
{
	try
	{
		if( m_Set.IsOpen() )
			m_Set.Close();
		m_Set.Open();
	}
	catch(...)
	{
		MessageBox("数据库打开异常");
		return ;
	}
	LoadSongName();

	if( m_NameList.GetCount() > 0 )
		m_NameList.SetCurSel(0);
	ShowCurData();
}
// 显示当前选择的记录
void CShowSongDlg::ShowCurData()
{
	// 得到当前选择的是第几项
	int k = m_NameList.GetCurSel();
	if( k == -1 )
		return;

	// 将指针移动到当前记录除
	if( m_Set.IsBOF() == false )
		m_Set.MoveFirst();
	m_Set.Move(k);
	// 附值
	m_Singer = m_Set.m_Singer;
	m_Time = m_Set.m_Time;
	m_Other = m_Set.m_Other;
	// 更新显示
	UpdateData(false);
}

void CShowSongDlg::OnLbnSelchangeList1()
{
	ShowCurData();
}

⌨️ 快捷键说明

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