1. 主页 > vs安装问题 > VS2017安装问题 >

Visual Studio 2017 MFC 对话框添加方法 对话框添加失

VS2017MFC的对话框创建后,右键添加类失败,显示文件不存在,查看网上各方资料后,并没有找到正确版本的文件,所以只能手动尝试为对话框创建并添加类。下面将遇到的主要问题以及解决方法介绍如下(以下方法为手动创建对话框类的方法)。本方法是根据CABOUTDLG类及其对话框实现的,小白们可以自行查看尝试。

1.    创建对话框(IDD_TEST)后,右键添加类,弹出报错对话框(这就是我们遇到的问题)

2.    为自己的工程手动创建类(我创建的是:CTESTDLG)

3.    在CTESTDLG.h中添加如下代码

注意类后面 CDialogEx的继承

注意将对话框ID(IDD_TEST)更改成你所创建的ID

classCTESTDLG: publicCDialogEx

{

public:

    CTESTDLG();

    ~CTESTDLG();

public:

   

 

    // 对话框数据

#ifdef AFX_DESIGN_TIME

    enum { IDD = IDD_TEST };

#endif

 

protected:

    virtualvoidDoDataExchange(CDataExchange*pDX);    // DDX/DDV 支持

 

                                                           // 实现

protected:

    DECLARE_MESSAGE_MAP()

   

};

4.    在CTESTDLG.cpp中添加如下代码

注意要引用Resource.h类,以及构造函数的继承CDialogEx(dialog id)

注意将对话框ID(IDD_TEST)更改成你所创建的ID

 

#include"stdafx.h"

#include"CTESTDLG.h"

#include"Resource.h"

 

 

CTESTDLG::CTESTDLG(): CDialogEx(IDD_TEST)

{

}

 

voidCTESTDLG::DoDataExchange(CDataExchange* pDX)

{

    CDialogEx::DoDataExchange(pDX);

}

 

CTESTDLG::~CTESTDLG()

{

}

BEGIN_MESSAGE_MAP(CTESTDLG,CDialogEx)

END_MESSAGE_MAP()


5.   在工程的View.cpp中引用CTEST.h。添加如下代码

其中32771 是我添加的按钮id,请自行更改

void CtestforapplicationView::On32771()

{

 CTESTDLG testDlg;

 testDlg.DoModal();

 }

运行便可查看效果



本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2017anzhuangwenti/2020/0725/4479.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息