目前,專門用於設計多媒體應用的軟體很多。而VC6.0也提供了一種動畫控制項來實現簡單多媒體動畫檔案的播放。我們建立一個基於對話方塊的工程,取名為player,具體步驟如下:
圖1
用MFC AppWizard(exe)建立一個名為player的工程,單擊OK,單選Dialog based。接下來連續點擊Next三次,單擊Finish,最後點擊OK。C++就自動產生一個對話方塊。為使其具有自己的風格,可用Mouse點擊上面已有的按鈕(【確定】、【取消】和ToDo:在這裡設定對話控制)加以選定後單擊Mouse右鍵選擇“Cut”使它們消失。然後使用Controls中的工具(1個控制項框和1個動畫控制項、4個按鈕)將對話方塊繪製成圖1所示;控制項屬性如表所示;用Ctrl+W進入MFC ClassWizard後依照屬性工作表編輯(2)。
動畫控制項的使用,請看下面的連結
http://www.qqgb.com/Program/VC/VCcontrol/Program_104570.html
在對話方塊類CplayDlg中添加一個Cstring類型的成員變數m_filename,再用Class Wizard為動畫控制項聲明一個對象m_animate,具體程式如下所示:
圖2
class CplayerDlg : public CDialog
{
//其他程式
public : CString m_filename;
CAnimateCtrl m_animate;
//其他程式
}
Edit Code分別為成員函數OnSelect( )、OnPlay( )、OnStop( )、OnOK( )添加代碼:
Void CplayerDlg :: OnSelect( )
{
CFileDialog dlg(TRUE,NULL,NULL,
OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,_T("Animation|*.AVI|"));
if(dlg.DoModal()==IDOK)
m_filename=dlg.GetPathName( );
Void CplayerDlg :: OnPlay( )
{
CFileStatus m_status;
if(!CFile::GetStatus(m_filename,m_status))
MessageBox("沒有該檔案,請選擇檔案",NULL,MB_OK);
Else
{
m_animate.Stop( );
m_animate.Close( );
m_animate.Open(m_filename);
m_animate.Play(0,-1,2);
}
}
Void CplayerDlg :: OnStop( )
{
m_animate.stop( );
}
Void CplayerDlg :: OnOK( )
{
m_animate.Stop( );
m_animate.close( );
CDialog::OnOK( );
}
該程式在Windows 2000 Professional + Microsoft Visual C++6.0 中編譯通過。
| id |
caption |
messages |
add function |
| idc_select |
選擇檔案 |
bn_clicked |
onselect |
| idc_play |
播放檔案 |
bn_clicked |
onplay |
| idc_stop |
停止播放 |
bn_clicked |
onstop |
| idok |
退出程式 |
bn_clicked |
onok |
| idc_animate |
|
|
|
| idc_static |
控制欄 |
|
|