dvd仿真程序方案面向?qū)ο蟪绦蛘n程方案說明書[精]_第1頁
dvd仿真程序方案面向?qū)ο蟪绦蛘n程方案說明書[精]_第2頁
dvd仿真程序方案面向?qū)ο蟪绦蛘n程方案說明書[精]_第3頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、河南科技大學(xué)課程設(shè)計(jì)說明書課程名稱 面向?qū)ο蟪绦蛘n程設(shè)計(jì)題目 DVD仿真程序設(shè)計(jì)院 系 電子信息工程學(xué)院課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目DVD仿真程序設(shè)計(jì)姓名學(xué)號專業(yè)班級計(jì)科101組別組 長同組 成員指導(dǎo) 教師課程設(shè) 計(jì)目的通過本課程設(shè)計(jì),使學(xué)生鞏固面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念、原理和技術(shù),學(xué)會使用C+語言進(jìn)行簡單程序的開發(fā),將理論與實(shí)際相結(jié)合,完成一個小型程序的 設(shè)計(jì)與實(shí)現(xiàn),并在此基礎(chǔ)上強(qiáng)化學(xué)生的實(shí)踐意識,提高其實(shí)際動手能力和創(chuàng)新能 力.課程設(shè) 計(jì)環(huán)境硬件:裝有Windows操作系統(tǒng)的計(jì)算機(jī)軟件:Visual C+6.0課程設(shè) 計(jì)任務(wù) 和要求任務(wù)要求:1 根據(jù)實(shí)際DVD勺運(yùn)行狀況進(jìn)行需求分析;2 抽

2、象DVD運(yùn)行算法;3 設(shè)計(jì)DVD運(yùn)行程序及人機(jī)交互界面;4 模塊功能滿足要求、界面友好、具有一定的健壯性;5 撰寫出符合要求的課程設(shè)計(jì)報(bào)告.參考 文獻(xiàn)1 鄭秋生、吳慶濤,C/C+程序設(shè)計(jì),北京:電子工業(yè)出版社2 譚浩強(qiáng)C+程序設(shè)計(jì),北京:清華大學(xué)出版社時(shí)間進(jìn)度安排序 號起止日期工作內(nèi)容1學(xué)生熟悉題目背景,查閱資料2學(xué)生進(jìn)行功能模塊設(shè)計(jì)、編碼、測試3程序驗(yàn)收43.16根據(jù)設(shè)計(jì)內(nèi)容形成課程設(shè)計(jì)文檔,撰寫課程設(shè)計(jì)報(bào)告53.17上交課程設(shè)計(jì)報(bào)告任課教師:劉中華、張曉玲、李艷霞時(shí)間:課程設(shè)計(jì)報(bào)告文檔題目DVD仿真程序設(shè)計(jì)一. 引言1編寫目的:實(shí)現(xiàn)模擬DVD的功能需要包含數(shù)據(jù)顯示區(qū)域(相當(dāng)于顯示類的產(chǎn) 品

3、),DVD模擬區(qū)域,實(shí)現(xiàn)模擬DVD的快進(jìn),快退,播放,暫停,菜單,上 一首,下一首,音量的加,音量減的功能此外模擬了一個接口按鈕,用于 DVD 向顯示設(shè)備的數(shù)據(jù)輸入還模擬了一個DVD的電源開關(guān).至此,實(shí)現(xiàn)此次DVD仿 真模擬的設(shè)計(jì)目的2. 定義:MFC (Microsoft Foundation Classes)是一個微軟公司提供的類庫( class libraries),以C+類的形式圭寸裝了 Windows的API,并且包含一個應(yīng)用程序框架, 以減少應(yīng)用程序開發(fā)人員的工作量.其中包含的類包含大量 Windows句柄圭寸裝 類和很多Windows的內(nèi)建控件和組件的圭寸裝類3 參考資料:1 鄭

4、秋生.C/C+程序設(shè)計(jì)教程一面向?qū)ο蠓謨?北京:電子工業(yè)出版社,20122 邱勇、肖春寶、白秀玲.可視化程序設(shè)計(jì).北京:清華大學(xué)出版社3 黃維通.visual C+面向?qū)ο笈c可視化程序設(shè)計(jì).北京:清華大學(xué)出版社二. 任務(wù)的描述1. 目標(biāo):通過本課程設(shè)計(jì),使學(xué)生鞏固面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念、原理和技 術(shù),學(xué)會使用C+語言進(jìn)行簡單程序的開發(fā),將理論與實(shí)際相結(jié)合,完成一個小 型程序的設(shè)計(jì)與實(shí)現(xiàn),并在此基礎(chǔ)上強(qiáng)化學(xué)生的實(shí)踐意識,提高其實(shí)際動手能力 和創(chuàng)新能力.2. 功能描述:DVD的仿真模擬分為數(shù)據(jù)顯示區(qū)域(相當(dāng)于顯示類的產(chǎn)品),DVD模擬區(qū)域,模擬DVD的快進(jìn),快退,播放,暫停,菜單,上一首,下一

5、首,音 量的加,音量減的功能.此外模擬了一個接口按鈕,用于DVD向顯示設(shè)備的數(shù)據(jù) 輸入.模擬了一個DVD的電源開關(guān).光碟數(shù)據(jù)的存儲區(qū)域模擬.點(diǎn)擊按鈕可以打 開數(shù)據(jù)中心倉庫,區(qū)域1可以點(diǎn)擊此按鈕打開光碟數(shù)據(jù)存儲倉庫,打開后的界面如下圖所示.區(qū)域2:點(diǎn)擊鼠標(biāo)的右鍵可以打開右鍵菜單:1.添加文件到列表2刪除列表中文件區(qū)域3:實(shí)現(xiàn)DVD的模擬功能: 點(diǎn)擊快進(jìn)按鈕實(shí)現(xiàn)快進(jìn)功能; 點(diǎn)擊快退按鈕實(shí)現(xiàn)快退功能; 點(diǎn)擊播放按鈕實(shí)現(xiàn)播放功能; 點(diǎn)擊暫停按鈕實(shí)現(xiàn)暫停功能;DVD點(diǎn)擊+按鈕實(shí)現(xiàn)音量的加功能; 點(diǎn)擊-按鈕實(shí)現(xiàn)音量減的功能; 點(diǎn)擊菜單按鈕可以實(shí)現(xiàn)DVD光碟返回到菜單的功能; 模擬了一個接口按鈕,相當(dāng)于 D

6、VD像顯示接口插入的一條數(shù)據(jù)線,用于 向顯示設(shè)備的數(shù)據(jù)輸入;電源開關(guān)實(shí)現(xiàn)DVD機(jī)關(guān)閉的功能區(qū)域1可以點(diǎn)擊此按鈕打開光碟數(shù)據(jù)然后直接打開播放器小窗口播放,播放器的小窗口如下圖.鼠標(biāo)右鍵點(diǎn)擊此按鈕的可以彈出右鍵菜單,右鍵菜單響應(yīng)的事件功能有,播放和查看文件的大小屬性.區(qū)域2:點(diǎn)擊鼠標(biāo)的右鍵可以打開右鍵菜單:1.添加文件到列表2.刪除列表中文件區(qū)域3:顯示當(dāng)前播放文件的路徑區(qū)域4 :點(diǎn)擊可以打開文件選擇對話框,實(shí)現(xiàn)讓用戶選擇非DVD格式的文件.這是在DVD基礎(chǔ)上對于播放的擴(kuò)展.功能的增強(qiáng).區(qū)域5:點(diǎn)擊此按鈕可以查看播放器支持的文件格式區(qū)域1:可以點(diǎn)擊對應(yīng)的菜單實(shí)現(xiàn)對應(yīng)的音影的播放功能區(qū)域2:點(diǎn)擊全屏

7、按鈕實(shí)現(xiàn)全屏播放上圖播放DVD時(shí)候的小窗口播放界面.上面為DVD文件的播放菜單,DVD文件是用轉(zhuǎn)換工 具轉(zhuǎn)換的DVD整個光碟,由于轉(zhuǎn)換的速度較慢,且轉(zhuǎn)換后文件較大,一個大約6G, 個大約2G,轉(zhuǎn)換時(shí)間周期較長,用晚上轉(zhuǎn)換的.轉(zhuǎn)換后的DVD文件沒法加入電子檔.總計(jì)8G.在此說明一下.3. 性能描述(1) 數(shù)據(jù)精確度:播放的時(shí)間在毫秒級(2) 時(shí)間特性:響應(yīng)時(shí)間,更新處理時(shí)間,運(yùn)行時(shí)間等都較短.4. 運(yùn)行環(huán)境:硬件:Windows7操作系統(tǒng)平臺軟件:Visual C+6.05條件與限制:條件是由于播放DVD的文件解碼較苛刻,系統(tǒng)必須安裝有DVD 格式的解碼器.三. 任務(wù)設(shè)計(jì)1類的劃分:(1)類 1

8、: class CAaDlg : public CDialog public:CAaDlg(CWnd* pParent = NULL);/ standard constructorenum IDD = IDD_AA_DIALOG ;CListBox m_list;CButton m_Open;CButton m_Play;CButton m_Up;CButton m_Stop;CButton m_Down1;int t;bool t1;CButton m_Slow;CButton m_VolSmall;CButton m_VolBig;CButton m_Menu;CButton m_JieK

9、ou;CButton m_Forhead;CButton m_Close; CWMPPlayer4 m_WMPlayer; CWMPControls m_Control; CWMPDVD m_wmpDVD; CWMPSettings m_set; CWMPPlaylist m_playlist; CWMPMedia m_media; CWMPPlayer4 m_WMp; CString str1;Dlg1 dlg1;int k;public:virtual BOOL PreTranslateMessage(MSG* pMsg);protected:virtual void DoDataExch

10、ange(CDataExchange* pDX); / DDX/DDV support virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); protected:HICON m_hIcon;virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();afx_msg void OnBUTTOClose();afx_msg void

11、OnBUTTONForhead();afx_msg void OnBUTTOSlow();afx_msg void OnBUTTONV olBig();afx_msg void OnBUTTONV olSmall();afx_msg void OnBUTTONJIeKou();afx_msg void OnBUTTONDown();afx_msg void OnBUTTOPlay();afx_msg void OnBUTTONStop();afx_msg void OnButtonup();afx_msg void OnBUTTONMenu();afx_msg void OnOpen();af

12、x_msg void OnDblclkList1();DECLARE_MESSAGE_MAP();CAaDlg 類實(shí)現(xiàn)了模擬 DVD 的主界面的功能實(shí)現(xiàn) .成員函數(shù) OnBUTTOClose() 實(shí)現(xiàn) DVD 電源 的關(guān)閉 功能, 成員函 數(shù) OnBUTTOPlay() 實(shí)現(xiàn) 播放功 能;成 員函 數(shù) OnBUTTONStop() 實(shí)現(xiàn)音視頻的暫停功能; 成員函數(shù) OnBUTTONForhead() 實(shí)現(xiàn)快 進(jìn)功能;成員函數(shù) OnBUTTOSlow() 實(shí)現(xiàn)快退功能; 成員函數(shù) OnBUTTONV olBig() 實(shí)現(xiàn)音量增加功能;成員函數(shù) OnBUTTONV olSmall() 實(shí)現(xiàn)音量減小

13、功能等; ( 2)類 2:class Dlg1 : public CDialogpublic:Dlg1(CWnd* pParent = NULL);enum IDD = IDD_DIALOG1 ;CListBox m_list;CButton m_btn5;CButton m_btn4;CButton m_btn3;CButton m_btn2;CButton m_btn1;SmallPlayer smallplayer;int p;CString m_edit;public:virtual BOOL PreTranslateMessage(MSG* pMsg);protected:virtu

14、al void DoDataExchange(CDataExchange* pDX);/ DDX/DDV supportvirtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);protected:afx_msg void OnButton1();virtual BOOL OnInitDialog();afx_msg void OnButton3();afx_msg void OnButton2();afx_msg void OnButton5();afx_msg void OnButton4();afx_msg void OnSelchange

15、List1(); afx_msg void OnDblclkList1();DECLARE_MESSAGE_MAP();類 Dlg1 實(shí)現(xiàn)把 DVD 光碟存放區(qū)域的顯示,光碟在此區(qū)域存放 .(3) 類 3:class SmallPlayer : public CDialog public:SmallPlayer(CWnd* pParent = NULL);/ standard constructorenum IDD = IDD_DIALOG2 ;CButton m_btn1;CButton m_btn2;CWMPPlayer4 m_ocx1;CWMPControls m_control; CW

16、MPDVD m_dvd;CWMPPlaylist m_playlist;CWMPSettings m_set;protected:virtual void DoDataExchange(CDataExchange* pDX);/ DDX/DDV supportprotected: afx_msg void OnButton1(); afx_msg void OnButton2();virtual BOOL OnInitDialog();DECLARE_MESSAGE_MAP();類 SmallPlayer 實(shí)現(xiàn)把 DVD 光碟的小窗口播放 .2類的接口設(shè)計(jì):( 1)類 1:public:vir

17、tual BOOL PreTranslateMessage(MSG* pMsg); protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);( 2)類 2:public:virtual BOOL PreTranslateMessage(MSG* pMsg); protected:virtual void DoDataExchange(CDataExchange* pDX);/ DDX/DDV

18、supportvirtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);protected:afx_msg void OnButton1();virtual BOOL On I ni tDialog();afx_msg void On Butto n3(); afx_msg void On Butt on 2(); afx_msg void On Butt on 5(); afx_msg void On Butt on4(); afx_msg void On Selcha ngeList1(); afx_msg void On DblclkLis

19、t1();DECLARE_MESSAGE_MAP()(3)類 3:protected:afx_msg void On Butt on 1();afx_msg void On Butt on 2(); virtual BOOL On I ni tDialog(); DECLARE_MESSAGE_MAP() 說明 protected是windows機(jī)制的消息函數(shù).Windows消息機(jī)制Windows系統(tǒng)是一個消息驅(qū)動的OS,個消息由一個消息名稱(UINT),和兩個參數(shù)(WPARAM,LPARAM ).當(dāng)用戶進(jìn)行了輸入或是窗口的狀態(tài)發(fā)生改 變時(shí)系統(tǒng)都會發(fā)送消息到某一個窗口.例如當(dāng)菜單轉(zhuǎn)中之后會有W

20、M_COMMAND 消息發(fā)送,WPARAM 的高字中(HIWORD(wParam)是命令的ID號,對菜單來講就是菜單ID.當(dāng)然用戶也可以定義自己的消息名稱,也可以利用自定義消息來發(fā)送通知和傳送數(shù)據(jù).一個消息必須由一個窗口接收.在窗口的過程(WNDPROC )中可以對消息進(jìn)行分析,對自己感 興趣的消息進(jìn)行處理.例如你希望對菜單選擇進(jìn)行處理那么你可以定義對WM_COMMAND進(jìn)行處理的代碼,如果希望在窗口中進(jìn)行圖形輸出就必須對WM_PAINT進(jìn)行處理.也相當(dāng)于與用戶交互的接口 .3. 類之間的關(guān)系:類 CAboutDlg、類 SmallPlayer、類 Dlg1、類 CAaDlg,都是繼承自 CD

21、ialog 類.類 CAaDlg和類Dlg1是包含關(guān)系,類 Dlg1和類SmallPlayer也是包含關(guān)系新的窗體類沒有加到父窗體的頭文件中.且關(guān)于模態(tài)對話框與非模態(tài)對話框的顯示機(jī)制不同.模態(tài)可以使用Domal()函數(shù)實(shí)現(xiàn).非模態(tài)對話框的建立需要dlg1.Create(IDD_DIAL0G1,this);即類創(chuàng)建顯示的窗體 UI ;dlgl.ShowWindow(SW_SHOW);然后顯示窗體這樣才完成一個非模態(tài)對話框的建立 問題得以解決2 .冋題2(1) 問題描述:播放文件時(shí),列表中選中的文件播放的是列表中其他的文 件(2) 解決辦法:使用m_list.SetCurSel()設(shè)置列表索引號,

22、這樣索引順序正確, 問題得到解決五.運(yùn)行結(jié)果與分析1.程序運(yùn)行的過程:程序先執(zhí)行主對話框,當(dāng)用戶點(diǎn)擊代開DVD數(shù)據(jù)按鈕程序響應(yīng)windows消息映射,通過 windows機(jī)制在內(nèi)存中建立新的類 dlgl, 此類是主窗體中包含的成員函數(shù)上一個冥單與I!示器掘口關(guān)2 類的構(gòu)造順序:先構(gòu)造類 CAaDIg,然后構(gòu)造類Dlg1 .3 錯誤描述及其解決辦法(1) 冋題1:問題描述:點(diǎn)擊音量增加按鈕音量無法增加,代碼已經(jīng)添加 解決辦法:沒有把wmpcontrol類的頭文件包含,加入頭文件即可.(2) 冋題2問題描述:點(diǎn)擊list區(qū)域鼠標(biāo)點(diǎn)擊的位置和右鍵菜單出現(xiàn)的位置有距離差;解決辦法:在 ClientTo

23、Screen(&pt) 這一句不需要把坐標(biāo)轉(zhuǎn)換成客戶區(qū)域坐標(biāo)六、感想認(rèn)識這次課程設(shè)計(jì)對于面向?qū)ο蟮乃枷胗猩羁痰捏w會 . 這次課程設(shè)計(jì)無論是我 需找DVD格式文件的創(chuàng)建刻錄,等等功能,自己沒有接觸過剛開始一頭霧水自己 的想法不好實(shí)現(xiàn) .通過網(wǎng)絡(luò)的搜索需找, 得到解決的途徑 . ,這樣不僅培養(yǎng)了遇到 問題的思考方法,而且更培養(yǎng)了我編程中分析問題,解決問題的方法途徑等等 . 更使得我對于對面向?qū)ο蟮姆庋b, 繼承以及多態(tài)性等特點(diǎn)以及優(yōu)點(diǎn)理解, 也讓自 己對微軟MFC編程有了一定的認(rèn)識,通過封裝類我們把想要現(xiàn)的功能封裝起來, 通過繼承我們可以對已有類進(jìn)行擴(kuò)充, 通過多態(tài)性我可以讓不同對象面對同一消 息有

24、各自的響應(yīng) . 這次設(shè)計(jì)使我進(jìn)步很大,收獲頗豐 .七程序代碼文件 Aadlg.h#include wmpplayer4.h#include wmpcontrols.h#include wmpdvd.h#include wmpplayer4.h#include wmpmedia.h#include wmpplaylist.h#include wmpsettings.h#include Dlg1.h /AFX_INCLUDES#if !defined(AFX_AADLG_H_C8019617_E9EB_4714_B667_009BB531DE6E_INCLUDED_)#define AFX_AAD

25、LG_H_C8019617_E9EB_4714_B667_009BB531DE6E_INCLUDED_ #if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ CAaDlg dialogclass CAaDlg : public CDialog/ Constructionpublic:CAaDlg(CWnd* pParent = NULL);/ standard constructor/ Dialog Data/AFX_DATA(CAaDlg)enum IDD = IDD_AA_DIALOG ;CListBox m_list;CButton m

26、_Open;CButton m_Play;CButton m_Up;CButton m_Stop;CButton m_Down1;int t;bool t1;CButton m_Slow;CButton m_VolSmall;CButton m_VolBig;CButton m_Menu;CButton m_JieKou;CButton m_Forhead;CButton m_Close;CWMPPlayer4 m_WMPlayer;CWMPControls m_Control;CWMPDVD m_wmpDVD;CWMPSettings m_set;CWMPPlaylist m_playlis

27、t;CWMPMedia m_media;CWMPPlayer4 m_WMp;CString str1;Dlg1 dlg1;int k;/AFX_DATA/ ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAaDlg)public:virtual BOOL PreTranslateMessage(MSG* pMsg); protected:virtual void DoDataExchange(CDataExchange* pDX);/ DDX/DDV supportvirtual BOOL OnCommand(WPA

28、RAM wParam, LPARAM lParam); /AFX_VIRTUAL/ Implementationprotected:HICON m_hIcon;/ Generated message map functions/AFX_MSG(CAaDlg)virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();afx_msg void OnBUTTOClose(); afx_ms

29、g void OnBUTTONForhead();afx_msg void OnBUTTOSlow(); afx_msg void OnBUTTONV olBig();afx_msg void OnBUTTONV olSmall(); afx_msg void OnBUTTONJIeKou();afx_msg void OnBUTTONDown(); afx_msg void OnBUTTOPlay();afx_msg void OnBUTTONStop(); afx_msg void OnButtonup();afx_msg void OnBUTTONMenu(); afx_msg void

30、 OnOpen();afx_msg void OnDblclkList1(); /AFX_MSGDECLARE_MESSAGE_MAP();文件 aadlg.cpp#include stdafx.h#include aa.h#include aaDlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif / CAboutDlg dialog used for App About class CAboutDlg : public CDialog public:CAbout

31、Dlg();/ Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA/ ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAboutDlg) protected:/ DDX/DDV supportvirtual void DoDataExchange(CDataExchange* pDX); /AFX_VIRTUAL/ Implementation protected:/AFX_MSG(CAboutDlg) /AFX_MSGDECLAR

32、E_MESSAGE_MAP() ;CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/A

33、FX_MSG_MAPEND_MESSAGE_MAP()/ CAaDlg dialogCAaDlg:CAaDlg(CWnd* pParent /*=NULL*/): CDialog(CAaDlg:IDD, pParent)/AFX_DATA_INIT(CAaDlg)/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32 t=1;t1=true;m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CAaDlg:DoDataExchan

34、ge(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAaDlg)DDX_Control(pDX, IDC_LIST1, m_list);DDX_Control(pDX, IDC_BUTTON2, m_Open);DDX_Control(pDX, IDC_BUTTOPlay, m_Play);DDX_Control(pDX, IDC_BUTTONUP, m_Up);DDX_Control(pDX, IDC_BUTTONStop, m_Stop);DDX_Control(pDX, IDC_BUTTONDown, m_Do

35、wn1);DDX_Control(pDX, IDC_BUTTOSlow, m_Slow);DDX_Control(pDX, IDC_BUTTONVolSmall, m_V olSmall);DDX_Control(pDX, IDC_BUTTONVolBig, m_V olBig);DDX_Control(pDX, IDC_BUTTONMenu, m_Menu);DDX_Control(pDX, IDC_BUTTONJIeKou, m_JieKou);DDX_Control(pDX, IDC_BUTTONForhead, m_Forhead);DDX_Control(pDX, IDC_BUTTO

36、Close, m_Close);DDX_Control(pDX, IDC_OCX1, m_WMp);/AFX_DATA_MAP BEGIN_MESSAGE_MAP(CAaDlg, CDialog)/AFX_MSG_MAP(CAaDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTOClose, OnBUTTOClose) ON_BN_CLICKED(IDC_BUTTONForhead, OnBUTTONForhead) ON_BN_CLICKED(IDC_BUTTOSlow, OnBUTTO

37、Slow) ON_BN_CLICKED(IDC_BUTTONV olBig, OnBUTTONV olBig) ON_BN_CLICKED(IDC_BUTTONV olSmall, OnBUTTONVolSmall) ON_BN_CLICKED(IDC_BUTTONJIeKou, OnBUTTONJIeKou) ON_BN_CLICKED(IDC_BUTTONDown, OnBUTTONDown) ON_BN_CLICKED(IDC_BUTTOPlay, OnBUTTOPlay) ON_BN_CLICKED(IDC_BUTTONStop, OnBUTTONStop) ON_BN_CLICKED

38、(IDC_BUTTONUP, OnButtonup) ON_BN_CLICKED(IDC_BUTTONMenu, OnBUTTONMenu) ON_BN_CLICKED(IDC_BUTTON2, OnOpen) ON_LBN_DBLCLK(IDC_LIST1, OnDblclkList1) /AFX_MSG_MAPEND_MESSAGE_MAP() / / CAaDlg message handlers BOOL CAaDlg:OnInitDialog() HICON DVDIcon,BoxIcon;CDialog:OnInitDialog();k=0;DVDIcon=AfxGetApp()-

39、LoadIcon(IDI_ICON1); BoxIcon=AfxGetApp()-LoadIcon(IDI_ICON2); SetIcon(DVDIcon,TRUE);m_Open.SetIcon(BoxIcon); dlg1.Create(IDD_DIALOG1,this); / Add About. menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX Ap

40、pendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRING , IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE); / Set small icon / TODO: Add extra

41、 initialization here return TRUE; / return TRUE unless you set the focus to a controlvoid CAaDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout; dlgAbout.DoModal();else CDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will

42、 need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CAaDlg:OnPaint()if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center ic

43、on in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system call

44、s this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CAaDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CAaDlg:OnBUTTOClose()/ TODO: Add your control notification handler code here/m_WMp.if(t1)t1=false;GetDlgItem(IDC_BUTTOClose)-SetWindowText( 電源開 ); m_Control

45、.stop();m_WMp.SetUrl(NULL);elset1=TRUE;GetDlgItem(IDC_BUTTOClose)-SetWindowText( 電源關(guān) ); m_Control.play();/ char szFileFilter=/VOB File(*.vob)|*.vob|/ Mp3 File(*.mp3)|*.mp3|/ MPEG File(*.mpeg)|*.mpeg|/ Media File(*.asf)|*.asf|/ Video File(*.dat)|*.dat|/ MPGA File(*.mpga)|*.mpga|/ Wave File(*.wav)|*.w

46、av|/ AVI File(*.avi)|*.avi|/ Movie File(*.mov)|*.mov|/ Mid File(*.mid;*,rmi)|*.mid;*.rmi|/ Wma File(*.wma)|*.wma|/ All File(*.*)|*.*|;/ CFileDialog fileDialog( TRUE,NULL,NULL,NULL,szFileFilter,this);/ if (fileDialog.DoModal() = IDOK)/ / CString fileName=fileDialog.GetPathName();/ m_avPlayer.put_URL(

47、fileName);/ void CAaDlg:OnBUTTONForhead()/ TODO: Add your control notification handler code here/ if (a1)/ m_Control.fastForward();/ a1=false;/ / elsevoid CAaDlg:OnBUTTOSlow()/ TODO: Add your control notification handler code here m_Control.fastReverse();/*m_Control.*/void CAaDlg:OnBUTTONV olBig()/

48、TODO: Add your control notification handler code here int i=m_set.GetV olume();i+;m_set.SetVolume(i);void CAaDlg:OnBUTTONV olSmall()/ TODO: Add your control notification handler code here int i=m_set.GetV olume();i-;m_set.SetVolume(i);void CAaDlg:OnBUTTONJIeKou()/ TODO: Add your control notification

49、 handler code hereif(t)t=0;GetDlgItem(IDC_BUTTONJIeKou)-SetWindowText( 接口開 ); m_Control.stop();elset=1;GetDlgItem(IDC_BUTTONJIeKou)-SetWindowText( 接口關(guān) ); m_Control.play();BOOL CAaDlg:PreTranslateMessage(MSG* pMsg)/ TODO: Add your specialized code here and/or call the base classCRect Rt1;POINT pt;CMe

50、nu cmenu;if (pMsg-message=WM_RBUTTONDOWN) :GetWindowRect(GetDlgItem(IDC_LIST1)-GetSafeHwnd(),&Rt1);:GetCursorPos(&pt);if (PtInRect(&Rt1,pt)cmenu.LoadMenu(IDR_MENU1);CMenu *pPopup=cmenu.GetSubMenu(0);pPopup-TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x,pt.y,this);return CDialog:PreTranslateMess

51、age(pMsg);BOOL CAaDlg:OnCommand(WPARAM wParam, LPARAM lParam)/ TODO: Add your specialized code here and/or call the base classUINT uMsg=LOWORD(wParam);char szFileFilter=DVD 光碟 (*.vob;*.ifo)|*.vob;*.ifo|Mp3 File(*.mp3)|*.mp3|MPEG File(*.mpeg)|*.mpeg|Media File(*.asf)|*.asf|Video File(*.dat)|*.dat|MPG

52、A File(*.mpga)|*.mpga|Wave File(*.wav)|*.wav|AVI File(*.avi)|*.avi|Movie File(*.mov)|*.mov|Mid File(*.mid;*.rmi)|*.mid;*.rmi|Wma File(*.wma)|*.wma|All File(*.*)|*.*|;if (uMsg=ID_MENUITEM32771)Y,szFileFilter);CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONL if (dlg.DoModal()=IDOK)CString PathName=dlg.GetPathName();PathName.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論