1. 创建对话框类

(1)打开VC++6.0环境,点击:文件新建

(2)在弹出的新建对话框中选择:工程MFC AppWizard (exe)→输入工程名称(例如:功能调试)→工程保存路径名确定(其他勾选项一律默认);

(3)在弹出的MFC AppWizard- Step1对话框中选择:(你喜爱创建的应用程序类型?)点击基本对话框→(使用语言?)选择中文→点击下一个

(4)在弹出的MFC AppWizard- Step2 of 4对话框中选择:这里基本保持默认选择,比较有用的一项是输入标题对话,在该编辑框中输入自己想要的标题(Function Debugging)→点击下一个

(5)在弹出的MFC AppWizard- Step3 of 4对话框中选择:这里有用的一项是“使用MFC library选项”,对于创建生成的.exe程序在本PC机上运行的可以保持默认选项,如果要将该.exe移植到其他PC机运行时,可以勾选另一项(即静态连接)。当然如果已经按照默认选项建立了工程,一般情况下在Windows系统下是可以跨PC机运行,如果当程序不能运行并提示无法找到一些.dll文件时,此时只需将需要的.dll文件拷贝至.exe文件所在路径中即可。

(6)在弹出的MFC AppWizard- Step4 of 4对话框中选择:这里可以在一些编辑框中修改类名称,然后点击完成,本事例中类名称改为CFDlg、CFDApp。

(7)至此系统完成了对话框类的创建,点击编译执行! 功能调试.exe按钮即可运行新创建的对话框程序,对话框标题名为Function Debugging

2. 修改对话框标题

2.1 修改主对话框标题

  在BOOL CFDlg::OnInitDialog()函数中利用函数void SetWindowText( LPCTSTR lpszString );

  左击对话框图标弹出下拉菜单,发现菜单第三项与标题名称不符合,修改方法如下:

2.2 修改关于对话框标题

  当完成下拉菜单第三项名称修改后,点击关于“my title(&A)…”弹出关于对话框,如果想要修改关于对话框的标题,方法如下:

2.3 修改消息对话框标题

  在程序运行中常常会用的AfxMessageBox函数来作为判断的消息对话框,对于用AfxMessageBox函数生成的消息对话框标题会默认采用应用程序名。因此修改由函数AfxMessageBox生成对话框的标题方法就是修改应用程序程序名。方法如下:

  第一种方法:打开String Table→增加并编辑字符串资源AFX_IDS_APP_TITLE,如图:

  第二种方法:打开MSDN查看CWinApp::m_pszAppName 主题,对该主题的Remarks翻译如下,CWinApp::m_pszAppName指定应用程序的名称。该应用程序名称来自于由CWinApp构造函数传递出去的参数,即为m_pszAppName指定名称,或者来自于字符串资源ID(AFX_IDS_APP_TITLE)。如果应用程序名称在字符串资源中没有指定,那么它将由程序.exe文件名来指定。m_pszAppName是CWinApp类中的公有变量,类型为const char*。因此,在默认建立的项目工程,我们如果既没有对字符串资源ID(AFX_IDS_APP_TITLE)进行编辑,又没有修改m_pszAppName,那么应用程序名称就默认采用.exe文件名。如何通过修改m_pszAppName来改变应用程序名称?方法正如MSDN示例所示:

//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszAppName);
//Change the name of the application file.
//The CWinApp destructor will free the memory.
m_pszAppName=_tcsdup(_T(“my title”));

将上述源代码复制到CFDApp的构造函数中即可。

  当然想要使用消息对话框除了全局函数AfxMessageBox之外,还可以使用类CWnd中的成员函数MessageBox,该函数的申明是:

int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );

lpszText指向一个CString对象或者以’\0’结尾的字符串,该参数用来显示消息内容。

lpszCaption指向一个CString对象或者以’\0’结尾的字符串,该参数用来显示消息对话框的标题。

nType表示消息对话框的类型。具体想要什么类型通过查阅MSDN的CWnd::MessageBox主题,点击链接Message-Box Styles可以获取需要类型。

MFC技术积累——基于MFC对话框类的那些事儿的更多相关文章

  1. MFC技术积累——基于MFC对话框类的那些事儿5

    4. 菜单 4.1 弹出菜单 本节主要讲解如何在主对话框的指定区域内通过鼠标右击来弹出一个菜单选项.最终效果图如图4.1. 如图4.1鼠标只能在指定区域(图中深色区域)内右击时弹出菜单,在指定区域外点 ...

  2. MFC技术积累——基于MFC对话框类的那些事儿2

    3. 绘图 3.1 对话框资源编辑 首先通过添加控件的方式来创建一个简单的绘图对话框如图所示,创建步骤为: 第一.在VC++6.0软件环境的灰色空白区域右击,选中Controls,然后会弹出一个控件对 ...

  3. MFC技术积累——基于MFC对话框类的那些事儿3

    3.3.2 创建图形画刷来实现位图加载 1.首先在Resource View中导入一幅位图,位图大小96×96像素: 2.其次在主对话框中添加一个静态文本资源,ID号是IDC_BITMAPAREA,添 ...

  4. MFC技术积累——基于MFC对话框类的那些事儿4

    3.3.4 借助兼容DC加载DIB位图 创建一个与设备环境相兼容的DC,通过将位图暂时导入至兼容DC,然后利用CDC::BitBlt 或者CDC::StretchBlt函数将位图绘制到设备环境中. 示 ...

  5. MFC技术内幕系列之(四)---MFC消息映射与消息传递内幕

    ////////////////////////////////////////////////////////////////////////////////////                 ...

  6. MFC编程入门之八(对话框:创建对话框类和添加控件变量)

    创建好对话框资源后要做的就是生成对话框类了.生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数. 例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDIT ...

  7. mfc 在VC的两个对话框类中传递参数的三种方法

    弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ...

  8. 【转】VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)

    原文网址:http://www.jizhuomi.com/software/153.html 前两讲中鸡啄米为大家讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.鸡啄米再声明下, ...

  9. VS2010/MFC对话框三:创建对话框类和添加控件变量

    创建对话框类和添加控件变量 前两讲中讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 例程Addition是 ...

随机推荐

  1. <正则吃饺子>:关于集合的简单整理总结

    项目中用到的集合不可谓不多,对于自己的一次面试,要求说下自己用过的集合,自己开始说的并不系统也不完整,一直耿耿于怀,特整理一下,以备后期之用和帮助后来者. package com.love.malin ...

  2. Python的中文处理

    一.使用中文字符 在python源码中如果使用了中文字符,运行时会有错误,解决的办法是在源码的开头部分加入字符编码的声明,下面是一个例子: #!/usr/bin/env python # -*- co ...

  3. JAVA 数组的常用操作

    目录: 声明数组: 初始化数组: 查看数组长度: 遍历数组: int数组转成string数组: 从array中创建arraylist: 数组中是否包含某一个值: 将数组转成set集合: 将数组转成li ...

  4. struts2-045漏洞浅析

    http://blog.csdn.net/rossrocket/article/details/67674290

  5. 1.9 Hive常见属性配置

    一.Hive数据仓库位置配置 1. # Hive数据仓库位置配置: 默认位置(hive根目录): /user/hive/warehouse 注意事项: *在仓库目录下,没有对默认的数据库default ...

  6. 技术胖Flutter第四季-20导航的参数传递和接受-1

    技术胖Flutter第四季-20导航的参数传递和接受-1 视频地址:https://www.bilibili.com/video/av35800108/?p=21 先安装一个新的插件: Awesome ...

  7. Whitelabel Error Page异常

    做了个简单的springboot项目,一开始所有运行正常,之后写了一天的代码,再运行相同的代码,就一直报以下异常: Whitelabel Error Page This application has ...

  8. Validtion

    今天在使用Validation框架实现验证时,出现以上的错误.查询资料后发现“validation-config.dtd”这个文件没有导入自己的工程,才会出现这样的错误. 将从文件导入后果然解决了问题 ...

  9. 带emoji表情弹出层的评论框,semantic+emoji picker,java.sql.SQLException: Incorrect string value: '\xF0\x9F..'

    在自己做一个项目玩时,在做评论的时候. 选中了semantic.js原型,这个在国内用的不是很多,但是在github上star数量很高,想当初我想找一个js框架是就在上面找的. semantic中文网 ...

  10. Chrome开发者工具 debug 调试

    Chrome 的开发者工具分为 8 个大模块,每个模块及其主要功能为: Element 标签页: 用于查看和编辑当前页面中的 HTML 和 CSS 元素. Network 标签页:用于查看 HTTP ...