用VS创建一个桌面应用程序(未完成)

步骤

创建一个新项目

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

新建一个新项目

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

新项目名称创建

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

可执行文件的保存路径

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

可执行文件的运行效果

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

可执行文件的对话框

调整应用程序

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

菜单项目

添加菜单项

在现在的菜单的基础上,添加菜单,步骤如下图:

添加一个菜单项1

  • 点击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;

按钮

文本框

概念

解决方案

项目

桌面应用程序

DLL