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. asp.net中FileUpload得到上传文件的完整路径

    asp.net中FileUpload得到上传文件的完整路径 Response.Write("完整路径:" + Server.MapPath(FileUpload1.PostedFi ...

  2. 【217】◀▶ IDL 控制语句说明

    参考:Statements Routines —— 控制语句关键字 01   FOR 循环语句. 02   FOREACH 循环语句. 03   WHILE...DO 循环语句. 04   IF... ...

  3. Codeforces1107E Vasya and Binary String 记忆化dp

    Codeforces1107E 记忆化dp E. Vasya and Binary String Description: Vasya has a string \(s\) of length \(n ...

  4. CF-798B

    B. Mike and strings time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. CF-798A

    A. Mike and palindrome time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  6. Flutter实战视频-移动电商-30.列表页_商品列表UI界面布局

    30.列表页_商品列表UI界面布局 小程序里面的布局方式 小程序的图片上这里使用的是warp布局,因为首页里面火爆专区,已经用过了warp来布局了. 所以这里我们没有必要再讲一遍,这里我们使用List ...

  7. 1、webpack课程介绍

  8. csvreader 来操作csv文件

    http://www.cnitblog.com/rd416/archive/2010/07/08/47248.html

  9. SQL Server服务器连接配置

    一.首先确保服务器能在本地打开数据库 如果碰到本地无法连接到数据库,首先要确认上图中两个服务是否开启 二.其次,要配置远端可连接的用户 如图,配置数据库[属性]中[安全性]为混合验证,勾中允许远程连接 ...

  10. C 语言实例 - 复数相加

    C 语言实例 - 复数相加 C 语言实例 C 语言实例 使用结构体(struct)将两个复数相加. 我们把形如 a+bi(a,b均为实数)的数称为复数,其中 a 称为实部,b 称为虚部,i 称为虚数单 ...