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

📄 opendlg1.cpp

📁 EVC下闹钟程序,很简单,只播放简单MP3音乐
💻 CPP
字号:
// OpenDlg1.cpp : implementation file
//

#include "stdafx.h"
#include "Alarm.h"
#include "OpenDlg1.h"

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

/////////////////////////////////////////////////////////////////////////////
// COpenDlg1 dialog


COpenDlg1::COpenDlg1(CWnd* pParent /*=NULL*/)
	: CDialog(COpenDlg1::IDD, pParent)
{
	//{{AFX_DATA_INIT(COpenDlg1)
	//}}AFX_DATA_INIT
}


void COpenDlg1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COpenDlg1)
	DDX_Control(pDX, IDC_LISTUP, m_ListUp);
	DDX_Control(pDX, IDC_LISTDOWN, m_ListDown);
	DDX_Control(pDX, IDOK, m_OK);
	DDX_Control(pDX, IDCANCEL, m_Cancel);
	DDX_Control(pDX, IDC_LIST, m_List);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COpenDlg1, CDialog)
	//{{AFX_MSG_MAP(COpenDlg1)
	ON_WM_CTLCOLOR()
	ON_WM_ERASEBKGND()
	ON_BN_CLICKED(IDC_LISTUP, OnListup)
	ON_BN_CLICKED(IDC_LISTDOWN, OnListdown)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COpenDlg1 message handlers

BOOL COpenDlg1::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	::SetWindowPos(this->GetSafeHwnd(),
		HWND_TOPMOST,
		10, 
		120,
		180,
		100,		
		SWP_SHOWWINDOW);
	m_BackScreenBitmap.LoadBitmap(IDB_OPENBKG);

	m_List    .MoveWindow(1,1,158,100);
	m_ListUp  .MoveWindow(160,20,18,18);	
	m_ListDown.MoveWindow(160,40,18,18);	
	m_Cancel  .MoveWindow(160,60,18,18);
	m_OK      .MoveWindow(160,80,18,18);


	m_ListUp  .LoadBitmaps(IDB_OPEN_LISTUP_W,IDB_OPEN_LISTUP_B);
	m_ListDown.LoadBitmaps(IDB_OPEN_LISTDOWN_W,IDB_OPEN_LISTDOWN_B);
	m_Cancel  .LoadBitmaps(IDB_OPEN_CLOSE_W,IDB_OPEN_CLOSE_B);
	m_OK      .LoadBitmaps(IDB_OPEN_OK_W,IDB_OPEN_OK_B);


	WIN32_FIND_DATA FileData;
	HANDLE hSearch;
	bool bFinished = false;
	hSearch = FindFirstFile( L"\\sdmmc\\alarm\\*.mp3",&FileData);
	if (hSearch == INVALID_HANDLE_VALUE)
	{
		return false;
	}
	
	while (!bFinished)
	{
		
		m_List.AddString(FileData.cFileName);
	
		if (!FindNextFile(hSearch ,&FileData))
		{
			bFinished = true;
		}
			
	}
		
	
	
	FindClose(hSearch);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void COpenDlg1::OnOK() 
{	
	if (m_List.GetCurSel() > 0)
	{
		m_List.GetText(m_List.GetCurSel(),strName);
	}
	else
		strName = "SysMusic";
	
	CDialog::OnOK();
}

HBRUSH COpenDlg1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if(nCtlColor == CTLCOLOR_LISTBOX)
	{
	//	pDC->SetBkMode(TRANSPARENT);
		pDC->SetTextColor(RGB(255,255,255));
		pDC->SetBkColor(RGB(0,0,0));
		m_brMine = ::CreateSolidBrush(RGB(0,0,0));
		return m_brMine;
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

BOOL COpenDlg1::OnEraseBkgnd(CDC* pDC) 
{

	BITMAP bmpInfo;
    m_BackScreenBitmap.GetBitmap(&bmpInfo);
    CDC dcMemory;
    dcMemory.CreateCompatibleDC(pDC);
    CBitmap* pOldBitmap = dcMemory.SelectObject(&m_BackScreenBitmap);
    CRect rect;
    GetClientRect(&rect);
    pDC->BitBlt(0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, &dcMemory, 
         0, 0, SRCCOPY);
    dcMemory.SelectObject(pOldBitmap);
	return true;	
}

void COpenDlg1::OnListup() 
{
	int i = m_List.GetCurSel();// 得到当前点击的是第几个。
	if(i < 7)
		i = 0;
	else
		i = i - 7;

	m_List.SetCurSel(i);
	m_List.SetTopIndex(i);	
}

void COpenDlg1::OnListdown() 
{
	int i = m_List.GetCurSel();// 得到当前点击的是第几个。
	i = i + 7;

	if(i > m_List.GetCount()-1) 
		i = m_List.GetCount()-7;

	m_List.SetCurSel(i);
	m_List.SetTopIndex(i);
}

void COpenDlg1::OnCancel() 
{
	strName ="SysMusic";	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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