zoukankan      html  css  js  c++  java
  • 简单VC对话框编程

    基本步骤

    1.点击文件--新建--项目

    2. 选择Win32项目,填入名称和选择路径

    3. 在应用程序向导窗口中点击”下一步“

     

    4. 在应用程序设置窗口中勾选”空项目“,再点击“完成”

    5. 在左边的解决方案资源管理器窗口中,右击“源文件”,选择“添加”-“新建项”

    6. 在“添加新项”窗口中,先选择C++文件(.cpp),再写入源文件名,点击“添加”。这样,源文件就添加好了

    7. 添加资源文件(资源文件用来描述对话框的图形界面),在左边的解决方案资源管理器窗口中,右击“资源文件”,选择“添加”-“资源”

        在“添加资源”窗口,选中Dialog,再点击“新建”

     

    8. 点击右侧的“工具箱”,即可展开工具箱,并添加需要的控件到对话框中

     

    9. 在相应的窗体或控件上右击鼠标,选择“属性”,可以更改已添加组件的属性。

        例如,修改对话框的标题为“测试”,在对话框属性中更改“Caption”项内容即可。然后将对话框的ID改为DLG,Visible属性改为TRUE

      

     10. 更改完成后,可以点击工具栏左上角的“测试对话框”按钮查看运行效果

     11. 建立主函数在之前建好的源文件中添加如图所示的主函数代码,代码的含义已经作了相应的注释

    #include<Windows.h>
    #include"resource.h" //包含资源文件
    
    //声明对话框程序
    BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);
    
    //主函数
    int WINAPI WinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       PSTR szCmdLine,
                       int iCmdShow)
    {
        /*DialogBox函数:创建一个模态对话框
         参数1:实例句柄
         参数2:对话框资源模板名
                此参数类型为以NULL结尾的字串指针,故用MAKEINTRESOURCE宏对整形ID进行转换
         参数3:对话框的父窗口,如无则为NULL
         参数4:对话框程序指针(消息处理函数)
         */
        DialogBox(hInstance,MAKEINTRESOURCE(DLG),NULL,DlgProc);
        return 0;
    }
    //对话框程序
    BOOL CALLBACK DlgProc(HWND hDlg,UINT msg,WPARAM wParam,LPARAM lParam)
    {
        switch(msg)
        {
        case WM_INITDIALOG://初始化对话框的代码添加到这
            return TRUE;
        case WM_COMMAND://处理命令消息的代码添加到这
            switch(LOWORD(wParam))
            {
            case IDOK://点击了"确定"按钮需要执行的操作添加到这
                MessageBox(NULL,TEXT("你点了确定"),TEXT(""),MB_OK);
                return TRUE;
            case IDCANCEL://点击取消按钮需要执行的操作添加到这
                /*EndDialog函数:关闭对话框
                参数1:要关闭的对话框窗口句柄
                参数2:从创建对话框函数返回到应用程序的值*/
                EndDialog(hDlg,0);
            }
            return TRUE;
        case WM_CLOSE://点击右上角小叉关闭时需要执行的操作添加到这
            EndDialog(hDlg,0);
            return TRUE;
        }
        return FALSE;
    }

    MessageBox(NULL,TEXT("你点了确定"),TEXT(""),MB_OK);

    第一个参数是父窗口的句柄,第二个参数是内容,第三个参数是标题,第四个参数是确定

    12. 运行结果

    函数注释

    DialogBox创建dialog窗口

    函数原型

    int DialogBox(
            HIBSTANCE hInstance,//指向模块的句柄
            LPCTSTRlp Template,  // 指向模板的字符串指针
            HWND hWndParent,    //父窗口句柄
            DLGPROC lpDialogFunc  // 窗口过程函数
    );
    
    MAKEINTRESOURCE(根据ID获取窗口模板名称)
  • 相关阅读:
    对同一个对象绑定多个响应事件并都执行
    IO流读取与写入文件+SQL替换更新字段脚本
    去掉所有HTML标记或取出匹配HTML标记间的文本
    CS程序启动后定时循环执行Clock_Elapsed事件Timer控件
    SQL新建登录帐户,并为新帐户建立安全帐户,并授予访问数据库的角色
    WEB服务的调用与调试
    SQL修改约束
    删除数据库的所有存储过程、主键、外键、索引等
    用SQL直接将文件内容导入数据表中
    将上传文件以二进制形式存入数据库中,并下载数据库中的二进制数据生成对应的文件
  • 原文地址:https://www.cnblogs.com/yangyuqing/p/10220559.html
Copyright © 2011-2022 走看看