最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C++ 实验六 简单的MFC应用程序设计

来源:动视网 责编:小OO 时间:2025-10-01 10:33:54
文档

C++ 实验六 简单的MFC应用程序设计

第组.简单的MFC应用程序设计一、实验目的1.理解Windows编程特点;2.了解MFC应用程序的消息映射、数据映射机制;3.掌握用AppWizard(exe)创建SDI和MDI应用程序的方法;4.掌握使用项目工作区窗口的ClassView页面为类添加成员的方法;5.掌握用ClassWizard映射消息的方法。6.掌握对话框编辑器的使用方法;7.熟悉对话框的编程过程及控件的创建和使用方法;8.掌握静态控件、按钮和编辑框控件的使用方法。二、内容与设计思想上机实践内容:1.设计一个对话框,用于学生
推荐度:
导读第组.简单的MFC应用程序设计一、实验目的1.理解Windows编程特点;2.了解MFC应用程序的消息映射、数据映射机制;3.掌握用AppWizard(exe)创建SDI和MDI应用程序的方法;4.掌握使用项目工作区窗口的ClassView页面为类添加成员的方法;5.掌握用ClassWizard映射消息的方法。6.掌握对话框编辑器的使用方法;7.熟悉对话框的编程过程及控件的创建和使用方法;8.掌握静态控件、按钮和编辑框控件的使用方法。二、内容与设计思想上机实践内容:1.设计一个对话框,用于学生
第      组

 . 

简单的MFC应用程序设计

一、实验目的

1.理解Windows编程特点;

2.了解MFC应用程序的消息映射、数据映射机制;

3.掌握用AppWizard(exe)创建SDI和MDI应用程序的方法;

4.掌握使用项目工作区窗口的ClassView页面为类添加成员的方法;

5.掌握用ClassWizard映射消息的方法。

6.掌握对话框编辑器的使用方法;

7.熟悉对话框的编程过程及控件的创建和使用方法;

8.掌握静态控件、按钮和编辑框控件的使用方法。

二、内容与设计思想

上机实践内容:

1.设计一个对话框,用于学生成绩的输入,要求能输入学生姓名、学号、性别以及3门课程成绩,单击“求平均”按钮是计算3门课程的平均成绩并显示在上面的静态文本框中。通过单击“测试”菜单下的“成绩录入”子菜单调用该对话框,在该对话框中要用到控件:静态文本、编辑框(单行和多行)、单选框、复选框、组框、按钮等,其运行结果如下:

三、使用环境

操作系统:Windowns XP

C++环境:Visual C++ 6.0

四、核心代码及调试过程

#include "ScoreInput.h"

#include "MainFrm.h"

#include "ScoreInputDoc.h"

#include "ScoreInputView.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

BEGIN_MESSAGE_MAP(CScoreInputApp, CWinApp)

        ON_COMMAND(ID_APP_ABOUT, OnAppAbout)

       ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)

       ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)

        ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)

END_MESSAGE_MAP()

CScoreInputApp::CScoreInputApp()

{

}

CScoreInputApp theApp;

BOOL CScoreInputApp::InitInstance()

{

    AfxEnableControlContainer();

#ifdef _AFXDLL

    Enable3dControls();        

    Enable3dControlsStatic();    

    SetRegistryKey(_T("Local AppWizard-Generated Applications"));

   LoadStdProfileSettings();

    CSingleDocTemplate* pDocTemplate;

    pDocTemplate = new CSingleDocTemplate(

        IDR_MAINFRAME,

        RUNTIME_CLASS(CScoreInputDoc),

        RUNTIME_CLASS(CMainFrame),       

        RUNTIME_CLASS(CScoreInputView));

    AddDocTemplate(pDocTemplate);

    CCommandLineInfo cmdInfo;

    ParseCommandLine(cmdInfo);

    if (!ProcessShellCommand(cmdInfo))

        return FALSE;

     m_pMainWnd->ShowWindow(SW_SHOW);

m_pMainWnd->UpdateWindow();

    return TRUE;

}

class CAboutDlg : public CDialog

{

public:

    CAboutDlg();

    enum { IDD = IDD_ABOUTBOX };

    CButton    m_Avg;

    float    m_avg;

    int        m_english;

    int        m_yuwen;

    int        m_math;

    protected:

    virtual void DoDataExchange(CDataExchange* pDX);  

protected:

        afx_msg void OnButton1();

        DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

        m_avg = 0.0f;

    m_english = 0;

    m_yuwen = 0;

    m_math = 0;

    }

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

    CDialog::DoDataExchange(pDX);

    DDX_Control(pDX, IDC_BUTTON1, m_Avg);

    DDX_Text(pDX, IDC_EDIT1, m_avg);

    DDX_Text(pDX, IDC_EDIT4, m_english);

    DDX_Text(pDX, IDC_EDIT5, m_yuwen);

    DDX_Text(pDX, IDC_EDIT6, m_math);

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)

    END_MESSAGE_MAP()

void CScoreInputApp::OnAppAbout()

{

    CAboutDlg aboutDlg;

    aboutDlg.DoModal();

}

void CAboutDlg::OnButton1() 

{

    

    m_avg = 0.0f;

    m_english = 0;

    m_yuwen = 0;

    m_math = 0;

    Update(true);

    m_avg=(m_english+m_yuwen+m_math)/3.0;

    Update(false);

    

}

五、总结

    通过本次上机实践,我学会了类的定义及运用,以及在定义的类中各种函数的用法,兵使其得到实际运用。实验结果还是相对满意,但实验结果中有总是遇到非常非常多的错误,这是本实验的困惑,希望接下来能有更多了解。

回答以下问题:

1.如何添加消息映射函数?

答:在.h文件中加入

afx_msg void OnUmsock(WPARAM wParam, LPARAM lParam);

在.cpp文件中进入

BEGIN_MESSAGE_MAP(..)

...

ON_MESSAGE(UM_SOCK, OnUmsock)

...

END_MESSAGE_MAP()

....

void CYourClass::OnUmsock(WPARAM wParam, LPARAM lParam) 

{

}

六、附录

文档

C++ 实验六 简单的MFC应用程序设计

第组.简单的MFC应用程序设计一、实验目的1.理解Windows编程特点;2.了解MFC应用程序的消息映射、数据映射机制;3.掌握用AppWizard(exe)创建SDI和MDI应用程序的方法;4.掌握使用项目工作区窗口的ClassView页面为类添加成员的方法;5.掌握用ClassWizard映射消息的方法。6.掌握对话框编辑器的使用方法;7.熟悉对话框的编程过程及控件的创建和使用方法;8.掌握静态控件、按钮和编辑框控件的使用方法。二、内容与设计思想上机实践内容:1.设计一个对话框,用于学生
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top