《MFC学习笔记》
欧阳磊
技术改变世界,学无止境,不忘初心!
展开
-
《MFC如何添加EXCEL库和操作EXCEL》
EXCEL工作簿、工作表、单元格、行、列我们在使用EXCEL时,需要搞清楚EXCEL应用程序、工作簿、工作表以及单元格的关系,还有如何设置字体和背景以及边框的属性。总之,就是1个工作簿(workbook)中含有很多个工作表(worksheet),工作表(worksheet)由行(cols)和列(rows)组成,行和列又由很多个单元格(cell)组成。由于在项目中使用到了EXCEL进行数据统计,...原创 2019-01-04 13:18:23 · 4913 阅读 · 0 评论 -
《MFC添加语音功能》
MFC一般提示都是用消息对话框来处理,同时我们也可以加上语音播报功能。语音播报我们可以调用微软自带的Microsoft Speech API (SAPI) 5.4,它里面有语音识别,还有有一个Text-to-Speech 引擎,可以将文本转化为语音,我们用的就是这个。下面我们创建一个简单的MFC例子来演示这玩意是怎么用的1、创建一个对话框取名叫“Speak”,添加一个按钮,修改为...原创 2018-09-14 10:04:27 · 3092 阅读 · 21 评论 -
《MFC 控件透明处理》
MFC对话框添加了背景图后,会导致控件周围有阴影,很不美观,因此,我们需要将阴影进行透明化处理。此时需要使用到MFC中的消息函数OnCtlColor()。一、添加OnCtlColor()函数1、对话框,右键选择类向导2、进入类向导,依次选择“消息”、“WM_CTLCOLOR”、“添加处理程序”、“应用”、“确定”。3、添加完了消息函数之后,主对话框cpp中会出现OnCtlC...原创 2018-09-05 09:49:02 · 4287 阅读 · 2 评论 -
《MFC+EXCEL设置颜色》
EXCEL一般需要设置一下字体颜色和填充颜色,填充颜色需要添加Interior类,字体颜色需要添加Font类。一般有两种方式可以设置颜色:设置自定义颜色和设置标准颜色1、设置自定义颜色就是颜色值自己设定,一般为RGB颜色空间,颜色值范围为0-255函数原型void put_Color(VARIANT& newValue) { static BYTE parms[] = VTS_VAR...原创 2018-07-05 15:55:18 · 2812 阅读 · 4 评论 -
《MFC Edit Control编辑框控件自动换行和限制字数》
自动换行:必须设置Vertical Scrollbar = TRUE必须设置MultiLine = TRUE必须设置Horizontal Scrollbar = FALSE必须设置Auto HScroll = FALSE可选设置Want Return = FALSE 可选设置Auto VScroll = TRUE限制字数:创建控件变量,然后使用SetLimitText()函数,10为要限制的字数...原创 2018-04-12 11:51:03 · 3259 阅读 · 0 评论 -
《MFC按钮响应键盘Enter键》
使用MFC的BUTTON按钮时,属性里面有个default button选项,如果选择为TRUE的话,系统会默认此按钮与键盘上Enter(回车)按键响应,当按下Enter键时,相当于按下了按钮。一般情况下,都是每个对话框的确认按钮与Enter键对应,按下Enter就相当于按下了确认按钮。如果有必要的话,你也可以选择按钮的Tab order为1,同时按Ctrl+D就会出现Tab order,然后双击...原创 2018-04-08 15:07:28 · 2730 阅读 · 0 评论 -
《MFC如何屏蔽ESC和Enter按键退出应用程序》
问题描述创建MFC应用程序的时候,通常可以通过ESC按键退出应用程序程序,Enter按键来执行当前选中的操作,有时候ESC和Enter有其他的功能,需要屏蔽掉,该怎么办呢?MFC其实已经为我们准备好了,我们只需要添加PreTranslateMessage()消息函数就行了,另外还需要知道按键的虚拟键值表。 添加PreTranslateMessage()消息函数1、选择当前项目...原创 2019-01-08 12:03:03 · 2187 阅读 · 0 评论 -
《MFC:矩形left、right、top、bottom》
left,top为左上角的点坐标right,bottom为右下角的点坐标转换一下为opencv常用的:x=lefty=topwidth=right-leftheight=bottom-top原创 2019-05-27 14:56:36 · 1997 阅读 · 0 评论 -
《TeeChart安装、注册和使用》
TeeChart Pro ActiveX是一个图表控件,适用于可识别ActiveX的编程环境——如:MicroSoftOffice,VB,VC++,ASP以及.NET 等等。TeeChart Pro ActiveX的结构和特征功能集是通过与客户多年的交互式开发建立起来的,所以说TeeChart Pro ActiveX是一个强大的图表控件,能够提供极其高效、直观、节省时间的编程结口。TeeChar...原创 2019-01-25 16:25:31 · 16457 阅读 · 15 评论 -
《MFC如何添加控件变量》
自动添加控件成员变量1、这里以编辑框为例,先选中编辑框,然后点击鼠标右键,选择添加变量选项2、进入添加成员变量向导页面,选择访问方式,一般默认为public,然后设置变量名,成员变量最好前面加上m_作为前缀,添加完成后,点击完成按钮,此时系统会自动在头文件中声明变量,在源文件中添加控件和变量之间的映射消息。 手动添加控件成员变量1、从自动添加的方式中可以知道,...原创 2019-01-09 14:59:38 · 12011 阅读 · 0 评论 -
《 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失》
问题描述最近项目中添加了很多外部的.h和.cpp文件,有可能是编码格式不一样,在生成解决方案时,输出窗口出现了好多的warning C4819警告信息,具体情况如下所示:warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 解决方法1、选中警告信息,双击鼠标左键进入到报错代码文件,一般都是...原创 2019-01-09 12:03:02 · 11764 阅读 · 6 评论 -
《VS如何解决warning C4996: 'vsprintf': This function or variable may be unsafe.问题》
问题描述 使用VS2010在生成解决方案的时候,输出窗口会出现一大堆warning C4996: 'xxx': This function or variable may be unsafe.这样的警告信息。参考了另外一位博主的说法:这是微软的警告,主要是因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函...原创 2019-01-09 10:19:17 · 3542 阅读 · 0 评论 -
《MFC如何添加OnInitDialog()函数》
问题描述通常我们创建完MFC应用程序后,系统会自动创建OnInitDialog()函数用于主对话框的用户数据初始化操作,但是当我们添加了子对话框类后,有时候系统却不会自动为子对话框类添加OnInitDialog()函数,这时就需要我们自己来添加了。BOOL ProjectConfig::OnInitDialog(){ CDialogEx::OnInitDialog(); //...原创 2019-01-08 18:14:57 · 10563 阅读 · 0 评论 -
《MFC如何添加子对话框》
问题描述 当MFC应用程序的主对话框有其他功能需要,但不能显示在主对话框时,通常会通过点击一个功能按钮弹出一个字对话框来实现。最常见的就是登录界面,点击登录按钮,然后弹出一个登录对话框让你输入登录信息,输完信息之后点击立即登录按钮,对话框消失,又回到主界面。 MFC添加子对话框1、选中项目名称,点击鼠标右键,依次选择添加、资源2、进入到添加资源界面,选择Dia...原创 2019-01-08 17:54:10 · 10296 阅读 · 0 评论 -
《MFC如何取消对话框右上角的X(退出)按钮》
问题描述MFC应用程序退出时有时候需要执行一些清空数据之类的操作或者弹出消息对话框提示是否要退出当前执行的程序,原本自带的退出按钮好像没有这个功能,因此就需要取消掉这个按钮,然后自己添加一个退出按钮来执行这些操作。 解决方法 选中对话框,找到对话框属性的System Menu选项,默认属性是true,将true修改为false即可取消掉对话框右上角的退出按钮 ...原创 2019-01-08 14:47:50 · 6430 阅读 · 1 评论 -
《VS如何解决Cannot find or open the PDB file问题》
问题描述 VS运行程序时,输出窗口显示大量的Cannot find or open the PDB file,意思是找不到或者打不开PDB文件,这个是Microsoft符号的问题,虽然不会影响程序的正常运行,但是遇到了还是要解决一下的。 解决方法1、依次选择工具->选项->调试->符号,然后勾选Microsoft符号服务器,然后会弹出一个提示框,说会有延时,...原创 2019-01-08 14:34:36 · 50656 阅读 · 12 评论 -
《MFC对话框如何禁止拉伸、移动、取消标题栏》
问题描述通常我们创建的MFC应用程序也就是对话框,都是自带标题栏并且可以通过鼠标来拉伸对话框的边界的,但是有些情况下我们是不需要标题栏或者我们想禁用鼠标拉伸对话框的边界这个功能(拉伸边界对话框的控件不能自适应),其实在对话框的属性里有一个border属性可以调整。 调整border属性1、选中对话框,找到对话框属性的border选项,一般默认的border属性是Resizing...原创 2019-01-08 13:53:56 · 4015 阅读 · 1 评论 -
MFC:获取和设置控件文本(GetDlgItemText和SetDlgItemText)
GetDlgItemText:获取给定控件的文本。语法virtual int GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ) const;参数nID:控件的标识符,也就是控件的ID。lpStr:与控件文本的指针,也就是控件文本中的内容,你需要获取的东西。nMaxCount:在字符指定最大长度...原创 2018-01-17 10:03:35 · 23727 阅读 · 0 评论