在musicdlg.h里面
protected:
afx_msg LRESULT OnMCINotify(WPARAM wParam, LPARAM lParam);
在musicdlg.cpp里面
BEGIN_MESSAGE_MAP(CLrsfMusicDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_minbtn, &CLrsfMusicDlg::OnBnClickedminbtn)
ON_BN_CLICKED(IDC_exitbtn, &CLrsfMusicDlg::OnBnClickedexitbtn)
ON_WM_NCHITTEST()
ON_BN_CLICKED(IDC_searchbtn, &CLrsfMusicDlg::OnBnClickedsearchbtn)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_playbtn, &CLrsfMusicDlg::OnBnClickedplaybtn)
ON_BN_CLICKED(IDC_stopbtn, &CLrsfMusicDlg::OnBnClickedstopbtn)
ON_BN_CLICKED(IDC_lastbtn, &CLrsfMusicDlg::OnBnClickedlastbtn)
ON_BN_CLICKED(IDC_nextbtn, &CLrsfMusicDlg::OnBnClickednextbtn)
ON_LBN_DBLCLK(IDC_musiclist, &CLrsfMusicDlg::OnDblclkMusiclist)
ON_WM_TIMER()
ON_MESSAGE(MM_MCINOTIFY, OnMCINotify) //传递消息
END_MESSAGE_MAP()
mcisendstring里面先open了,然后play
play ="play.....+notify";
hwnd=this->m_hWnd;
mciSendString(play, NULL, 0, hwnd);
响应函数
LRESULT CLrsfMusicDlg::OnMCINotify(WPARAM wParam, LPARAM lParam)
{
/*if (MCI_NOTIFY_SUCCESSFUL == wParam)
{
MessageBox(L"播放完毕",L"提示");
}*/
//MCI_NOTIFY_SUCCESSFUL == wParam
MessageBox(L"播放完毕", L"提示");
return FALSE;
}
可就是不弹出消息框啊!
不懂mfc消息传递机制,是哪里写错了