VC++60 第四章 菜單的使用

第四章 菜單的使用

 

菜單是windows風格的應用程序最方便最常用的,也是最歡迎的工具。本章介紹如何在程序中創建菜單的方法。

 

本章要點

1 設計菜單
2 爲菜單創建類文件
3 將菜單加入到對話框中

 

4.1 創建一個菜單資源

要使用菜單先要在工程的資源中增加一個菜單資源,方法如下:

1 打開工作區的資源頁;
2 右擊第一行某某resources,在快捷菜單中選“插入或Insert",打開如下的對話框;
3 選定MENUS,點擊“新建”,一個菜單就加入到資源中了,同時打開設計窗口待用戶編輯它。

VC++60 <wbr>第四章 <wbr>菜單的使用
圖chaop04-01

VC++60 <wbr>第四章 <wbr>菜單的使用

圖chap04-02

編輯菜單
在前面打開的菜單設計窗口中,用鼠標右擊第一個菜單,打開屬性對話框;輸入菜單名,如文件菜單,標題輸入"&File"。
VC++60 <wbr>第四章 <wbr>菜單的使用
圖chaop04-03

關閉屬性對話框,File菜單設計好了。此時下面就多出來一個空白菜單項,用同樣的方法設計菜單項,在我們的程序中標題爲Curent &Speed, ID爲ID_FILE_CURRENTSPEED。再添加一條橫線,這隻要在屬性中選取“分隔符”就行。類似地,添加&Exit菜單,ID爲ID_FILE_EXIT。
設計完文件菜單,再用鼠標右擊第二個菜單的空白矩形,添加Help菜單,標題爲&Help。添加About菜單項,標題爲&About。字母&的作用是是使後續字母(如F)添加下劃線,這就添加了快捷鍵ALT+F,使得按快捷鍵和點擊菜單有相同的功效。關閉菜單設計窗口,菜單的可視化設計完成。

 

4.2 爲菜單和對話框類建立關聯

 

創建了菜單資源後還需要把這菜單和對話框類建立關聯,這樣菜單纔會出現在該對話框中。方法是:在工作區先選定該菜單,打開類嚮導;此時會打開一個"Adding a class"對話框,選擇"Select an exisiting class",點OK按鈕。
VC++60 <wbr>第四章 <wbr>菜單的使用 
圖chap04-04

這時再打開主對話框的屬性對話框,就可以發現MENU屬性列表中就有了IDR_MENU1菜單。選中它,關閉屬性窗口,菜單就可以使用了。
VC++60 <wbr>第四章 <wbr>菜單的使用
圖chap04-05

 

4.3 創建使用菜單的對話框程序

1 Speed.exe程序的界面和功能
VC++60 <wbr>第四章 <wbr>菜單的使用 
圖chap04-06

程序運行時有一個編輯框,只能夠輸入整數。File菜單中第一項將彈出一個消息框,顯示編輯框中輸入的數。Help菜單中的About菜單項將彈出About對話框。

2 創建Speed.exe程序的工程
用應用程序嚮導在D:\myVC\CHO4位置創建Speed程序(工程)。

3 設計應用程序的界面
1 如圖05設計界面,編輯框的ID爲IDC_SPEED_EDIT,要只允許輸入數字,選中number複選框。
2 按本章敘述的方法設計菜單並與對話框類ID_SPEED_DIALOG建立關聯。
此時編譯和運行就可以看到上述結果,但點菜單沒有反應。

 

4.4 編寫代碼

 

爲了獲取編輯框的中的信息,給編輯框申明一個int value類型的變量m_SpeedEdit。
1 [File/Exit]菜單項的代碼是OnOK();
2 [File/Current]菜單項的代碼是
    char strSpeed[15];
    itoa(m_SpeedEdit, strSpeed, 10);
    CString str = "Current speed is " ;
    str += strSpeed ;
    MessageBox(str);
其中用itoa函數把十進位的數字(參數1)轉化成字符串(參數2),最後用信息框顯示結果。
3  [About]菜單項的代碼是
    CAboutDlg dlg;
    dlg.DoModal();
功能是建立About對話框對象,打開該對話框。
4 爲了編輯框的輸入能夠更新
變量m_SpeedEdit的值,還需要在函數OnChangeSpeedEdit()中增加一語句:
    UpdateData(TRUE);
OnChangeSpeedEdit()函數在輸入任一字符時被調用。UpdateData()函數的參數爲TRUE時對話框中的控件允許更新。

現在完成了全部設計,編譯和運行之。

—END—

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章