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—

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