MFC視窗程式設計基礎範例1.doc
文本预览下载声明
實驗5-2 串列埠控制線輸出燈號閃爍
開啟Microsoft Visual C++,新增「MFC AppWizard (exe)」專案,專案名稱為「5_2」,並將專案目錄設於D磁碟下之個人目錄。
選擇「Dialog based (對話框)」應用程式類型,並按「Finish (完成)」鍵。
刪除對話框中預設的控制元件,在對話框視窗中配置4個「Picture」、3個「Button」,安排如下圖。
依序選取各控制元件,按滑鼠右鍵,設定元件「Properties (屬性)」如下:
控制元件 ID Type 控制元件 ID Caption Picture IDC_STATIC0 Rectangle Button IDC_DTR DTR_RUN Picture IDC_STATIC1 Rectangle Button IDC_RTS RTS_RUN Picture IDC_STATIC2 Rectangle Button IDC_End End Picture IDC_STATIC3 Rectangle
設定完成後之畫面如下:
將「IDC_STATIC2」疊在「IDC_STATIC0」上面,「IDC_STATIC3」疊在「IDC_STATIC1」上面,如下圖:
選取元件,按滑鼠右鍵,在Class Wizard (類別精靈)中,設定「Member Variables (成員變數)」如下:
Control IDs(控制元件ID) Type(型別) Member(成員) IDC_DTR CButton m_Dtr IDC_RTS CButton m_Rts
選取Button元件,按滑鼠右鍵,選取Class Wizard,(1)點選「Message Maps」標籤頁,(2)點選將產生訊息的「Object IDs (物件)」,(3)選取訊息種類「Messages (訊息)」,(4)按「Add Function (增加函數)」按鈕之後,會在下方窗格中顯示相對應的成員函數,如下:
Object IDs(物件) Messages(訊息) Member functions(成員函數) IDC_DTR BN_CLICKED OnDtr IDC_RTS BN_CLICKED OnRts IDC_End BN_CLICKED OnEnd
在本實習中需要用到計時器,所以需要自行增加對話框的「Timer」的訊息。方法如同步驟6。選取視窗,按滑鼠右鍵,選取Class Wizard,(1)點選「Message Maps」標籤頁,(2)點選將產生訊息的「Object IDs (物件)」-「CMy5_2Dlg (專案對話框)」,(3)選取訊息種類「Messages (訊息)」-「WM-TIMER (計時器)」,(4)按「Add Function (增加函數)」按鈕之後,會在下方窗格中顯示相對應的成員函數,如下:
使用檔案總管,將檔案「PictureEx.h」與「PictureEx.cpp」複製至本實驗專案「5_2」目錄下。
切換至「FileView」頁面。選取「Source Files (來源檔)」,再按滑鼠右鍵,選取「Add Files to Folder... (增加檔案至資料夾)」。選取檔案「PictureEx.cpp」,按「OK」。
切換至「FileView」頁面。選取「Header Files (標頭檔)」,再按滑鼠右鍵,選取「Add Files to Folder... (增加檔案至資料夾)」。選取檔案「PictureEx.h」,按「OK」。
使用檔案總管,將檔案「bitmap1.gif」與「bitmap2.gif」複製至本實驗專案「5_2\res」目錄下。
切換至「ResourceView」頁面。選取「5_2 resources (專案資源)」,再按滑鼠右鍵,選取「Insert... (插入)」。在「Insert Resource」視窗中,選擇「Import... (匯入)」,尋找「res」目錄下之檔案「bitmap1.gif」,按「Import」。在「Custom Resource Type」視窗中,輸入「GIF」類型,按「OK」按鈕。
重複步驟11,將檔案「bitmap2.gif」匯入本專案。
編輯檔案「5_2Dlg.h」,新增內容如下反白處,宣告程式所使用全域變數:
編輯檔案「5_2Dlg.cpp」,第(1)部分,定義兩個全域變數。
編輯檔案「5_2Dlg.cpp」,第(2)部分,手動增加成員變數:
編輯檔案「5_2Dlg.cpp」,第(3)部分,在視窗初始時,畫出自行加入的圖形,並開啟
显示全部