步骤
创建一个新项目
打开Visual Studio,创建一个Windows桌面应用程序,如下图:

点击下一步,如果需要的话修改项目名称、保存路径(记得保存的目录,我的目录是:D:\visualstudio\test\WindowsProject1)和解决方案名称,再点击创建:

等待十几秒或者几十秒后,VS就完成了解决方案和项目的创建,用这种方法创建的项目,直接就可以生成(编译连接)和运行,点击VS的菜单生成/生成解决方案,就可以完成生成(编译链接),在前一步(创建时)保存的目录下会产生相关的文件夹和文件,其中有一个Debug的文件夹,里面保存了生成的可执行文件,双击即可运行,如下图:

当然,在VS中也可以直接运行(或者调试运行),选择菜单调试开始执行即可,运行效果如下:

可以看到这是一个简单的有菜单的桌面应用程序,点击菜单文件,有一个下拉菜单退出,点击即可退出;还有一个帮助菜单,里面有一个下拉菜单关于,点击后会弹出一个对话框,里面又有一个确定按钮和一些简单的文本标签。

调整应用程序
下面我们尝试向这个桌面应用程序添加一些东西,比如增加菜单、增加控件(按钮和输入、输出文本框),其中控件我们后续开发还会进一步用到。
菜单项目
添加菜单项
在现在的菜单的基础上,添加菜单,步骤如下图:

- 点击VS左下角资源视图
- 点击打开VS左上部分Menu选项,双击里面现有的菜单
- 在打开的菜单视图中可以直接编辑菜单里的内容,包括新增一个菜单项
- 在右侧菜单属性的编辑器里,修改菜单项的ID为 ID_ABOUT2
- 再次运行应用程序,已经可以看到新增的菜单项了,但是点击是没有任何效果的。
菜单项对应的动作
我们把菜单项 关于(B) 做成和 菜单项 关于(A) 一样的效果,即点击后打开一个对话框,步骤如下:
- 点击VS左下角解决方案资源管理器,打开源码 WindowsProject1.cpp
- 在函数 WndProc 中,找到 case IDM_ABOUT,如法炮制即可,如下:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
// 分析菜单选择:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_ABOUT2:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
break;