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. linux使用curl进行WebService接口测试

    参考 :linux使用curl进行接口测试 使用curl 命令模拟POST/GET请求 Linux命令发送Http的get或post请求(curl和wget两种方法) curl 模拟 GET\POST ...

  2. HDOJ-2045

    不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  3. c++中stl----map

    1 map的本质 (1)关联式容器,键值对应 (2)增加和删除节点对迭代器的影响很小. (3)对于迭代器来说不可以修改键值,只能修改对应的实值. (4)map内部数据的祖居是自建一颗红黑树(或者说是平 ...

  4. QRegExp解析

    正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征.比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ...

  5. 347. Top K Frequent Elements (sort map)

    Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...

  6. css 3d旋转

  7. 【Unity3D】3D角色换装++ Advance

    http://www.cnblogs.com/dosomething/archive/2012/12/15/2818897.html 本文在之前的文章Unity3D角色换装的原理 基础上做一个补充 给 ...

  8. 解决element 照片墙上传时回显问题

    1.先看看样式: <el-upload class="imgList" action="1165165" list-type="picture- ...

  9. nil 与 release

    nil就是把一个对象的指针置为空,只是切断了指针与内存中对象的联系:而release才是真正通知内存释放这个对象. 如果没有release就直接nil,那么虽然不会出错,却等于自己制造内存泄漏了,因为 ...

  10. Source Insight 入门设置

    在添加工程时,如果想添加文件夹下所有的文件,应该选择 “add tree” Source Insight 类名显示乱码解决 最近重新安装里source insight,但是打开文件后,类名显示乱码? ...