MFC
齐鲁至滇
一个有理想,有抱负,有责任心的男人!
展开
-
在C++中如何实现文件的读写?
一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O操作。 如果你猜是"fstream," 恭喜你答对了转载 2010-01-12 11:47:00 · 536 阅读 · 0 评论 -
VC++获取系统当前时间并显示
VC++6.0 获取系统时间 并输入格式化字符串 CTime tm = CTime::GetCurrentTime(); CString strtm= tm.Format("%Y-%m-%d %H:%M:%S"); AfxMessageBox(strtm); 1、定义一个CTime类对象 CTime time;2、 得到当前时间 time = CTi转载 2015-01-24 01:11:23 · 7969 阅读 · 0 评论 -
预编译头的作用
预编译头的概念:在很多程序中,每个源文件都存在一些相同的部分。比如要包括相同的一些头文件,而且这些头文件可能很长,例如window.h。如果用普通的方法编译这些源文件,对这些头文件在每个源文件中的出现都要重新编译,作了很多重复工作。如果能将这些头文件专门进行编译,并且把结果存储起来。然后在编译包含这些头文件的源文件时,使用上述结果替代头文件在源文件中的出现,就可以大大减少工作量。Micro转载 2013-04-26 03:51:37 · 855 阅读 · 0 评论 -
MFC把一个工程中的对话框复制到另一个工程中
这里的复制有两种情况:1,完全复制:资源加程序2,部分复制:空间资源复制1,复制方法:把原来的工程里面对话框对应h和cpp文件拷贝到新工程文件夹下面,选择.Project-> Insert Project to the Workspace-》files加入这两个文件,然后新建一个对话框,把ID改为原来的一样,选择菜单文件,打开,打开原工程文件夹下面的rc文件,这样原创 2013-04-13 08:50:32 · 8068 阅读 · 0 评论 -
关于#pragma once
关于#pragma once一.解析指令(#pragma) 在所有的预处理指令中,#pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为:#转载 2013-05-02 16:12:36 · 829 阅读 · 0 评论 -
每次修改对话框模版,.rc文件中的#include "afxwin.h"就会少了后边的双引号
fatal error RC1015: cannot open include file 'afxres.rc'.这个咋解决?网上的思路:需要在Tools-> Option-> Directories-> Include files下添加: C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\MFC\INCLUDE原创 2013-07-10 10:32:00 · 947 阅读 · 0 评论 -
warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告)
type”: 将值强制为布尔值“true”或“false”(性能警告)在分配非 bool 值,或将此类值强迫到类型 bool 中时,将生成此警告。 通常,此消息是由于向 bool 变量分配 int 变量引起的,其中 int 变量仅包含 true 和 false 值,并可重新声明为 bool 类型。 如果您无法重写表达式以使用 bool 类型,则可以向该表达式中添加“!=0”原创 2013-11-22 23:43:11 · 13125 阅读 · 1 评论 -
使用CreateFile()打开COM10及以上串行口
程序调试时发现,使用CreateFile()打开COM4时正常,打开COM10时却总是失败。这两个端口均为虚拟COM口,通过蓝牙仿真串口完成数据收发,除了命名不同外,本质上并无任何不同。而MSDN上对使用CreateFile()打开设备函数却失败返回并无详细解释,百思不得其解。上网百度一下找到了相关资料,原来是:Win32 API函数CreateFile()除了可打开普通文件外转载 2014-05-18 14:08:10 · 3759 阅读 · 2 评论 -
不是有效的Win32位应用程序
打开项目属性,修改平台工具集就可以解决了!!原创 2016-04-28 11:35:59 · 5633 阅读 · 0 评论 -
__int64及__time64_t 格式化
printf 输出 long long在windows 环境下 %I64d 在linux 环境下 %lld在VC6、DEV、CodeBlocks中C语言都可以使用__int64,格式化输出标识为%I64d。不过在VC6中数字后加2个L是会报错,可以只 加1个或不加。查了下资料,__int64是windows专用的,被vc、gcc等编译器支持,但在在UNIX、Linux中需用long long配合%转载 2016-06-03 12:56:30 · 7880 阅读 · 0 评论 -
OpenCV3.1 的缺点
在opencv3.1+VS2015的使用中,很多人在程序编译时遇到了这个问题: 1>lena.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引用 1>lena.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _main 中被引用 1>lena.obj :原创 2016-05-22 21:59:08 · 4823 阅读 · 0 评论 -
dlgdata.cpp line 40 断言失败
在VS2015运行一个C++ 程序,出现下图错误: 一看到这个,我头都大了。关键是 f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgdata.cpp 这个路径根本在我计算机不存在。其实是在安装目录下,通过搜索即可找到: D:\Program Files (x86)\Microsoft Visual Studio 14.0\VCatlmfc/src/mfc原创 2016-11-12 05:51:22 · 2249 阅读 · 4 评论 -
VC++ 编写程序计算月亮方位,高度,赤经,赤纬等信息
经过一段时间的努力,终于把月亮、太阳等的相关信息在VC++下实现,如下图:原创 2015-01-24 07:50:25 · 5599 阅读 · 17 评论 -
MFC中对话框资源的复制
在工程中导入已建好的对话框,方法有三: 法一: 1、首先要生成一个*.ogx的文件。 方法:打开包含有所要加的对话框资源的工程(别的工程)。 在视图资源(ClassView)中鼠标右键点击所需的对话框的类(也可以是所需的类) 这时,你会看到右键菜单中有个“Add to Gallery”的选项。转载 2014-09-03 15:02:23 · 11122 阅读 · 0 评论 -
解决OpenUrl函数总是得到缓存数据的问题
CInternetSession::OpenURL的问题.CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址 DWORD dwContext = 1, //上下文ID DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, //标记 LPCTSTR pstrHeaders = NULL, //发送到服务原创 2014-01-04 21:46:52 · 6282 阅读 · 3 评论 -
VS2005 单文档中修改标题和图标
一,修改标题:单文档标题格式: 程序名---标题1,单纯修改标题:在view类里添加pDoc->SetTitle(""); void CCDimmShowView::OnDraw(CDC* pDC){..... pDoc->SetTitle("你的标题"); //修改单文档的标题....}此时程序标题:“程序名---你的标题” 2, 连同原创 2013-01-19 06:36:50 · 3029 阅读 · 0 评论 -
MFC Release模式调试正常,Debug模式调试不正常
如题,在调试模式下,会弹出错误对话框,主要内容如下:“ 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”! 解决方法:工程-》属性-》配置属性-》常规-》MFC的使用,将”在共享DLL中使用MFC“改为选择“在静态库中使用mfc”,这样生成的exe文件就直接静态的包含库 //////////////////////////////////////原创 2013-01-21 01:13:51 · 3266 阅读 · 0 评论 -
VS2005中MFC添加Excel类步骤详述
网上看了很多相关的介绍,大多是在VC6.0下的,在VS2005下的很不详尽,容易让新手迷惑!现将MFC中添加Excel类步骤详述详细步骤介绍如下:打开你的MFC工程,选择项目-->添加类,然后会弹出一个对话框,如下: 选择MFC中的TypeLib中的MFC类,然后点击“添加”按钮,弹出如下对话框,选择文件,找到系统Excel.exe的目录,然后加载你需要的类:常用的有:_A原创 2012-10-31 00:29:55 · 7034 阅读 · 5 评论 -
MFC中文件的建立与操作
MFC中文件的建立 在操作系统中,文件是放在一定的目录下,在创建以及操作文件以前,我们要查看文件要保存的目录有没有存在,如果不存在要创建。这就要用到GetFileAttributes()和CreateDirectory()两个函数。下面是这两个函数的简介:1、GetFileAttributes函数原型:DWORD WINAPI GetFileAttribut转载 2013-04-22 01:01:50 · 1002 阅读 · 0 评论 -
AfxMessageBox和MessageBox区别
如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。 但是在WIN32 SDK的情况下只能使用MESSAGEBOX。MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox().afxmessagebox更多的时候是用于调试AfxMes转载 2013-04-24 05:24:46 · 723 阅读 · 0 评论 -
【vc】CArchive的对象使用
MFC 提供CArchive类实现数据的缓冲区读写,同时定义了类对象的存储与读取方案。以下对CArchvie 的内部实现作分析1.概述2.内部数据3.基本数据读写4.缓冲区的更新5.指定长度数据段落的读写6.字符串的读写7.CObject派生对象的读写1.概述CArchive使用了缓冲区,即一段内存空间作为临时数据存储地,对CArchive的读写转载 2013-04-21 22:45:24 · 710 阅读 · 0 评论 -
WM_USER 与 WM_APP
WM_USER 与 WM_APP#define WM_GET (WM_USER+112) 和 #define WM_GET (WM_APP+112)除了值不同外,有区别吗?(1)WM_USER through 0x7FFF Integer messages for use by private window classes. WM_APP through 0xBFFF Messa转载 2013-05-02 16:09:41 · 1382 阅读 · 0 评论 -
关于stdafx
关于#include "stdafx.h"(1)Standard Application Frame Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重转载 2013-05-02 16:40:22 · 619 阅读 · 0 评论 -
关于 DEBUG_NEW
#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif(1) 在 MFC 中,可以使用 DEBUG_NEW 宏代替 new 运算符来帮助定位内存泄漏。在程序的“Debug”版本中,DEBUG_NEW将为所分配的每个对象跟踪文转载 2013-05-02 16:34:14 · 1091 阅读 · 0 评论 -
对话框程序启动时呈现的状态
只要在对话框类的OnInitDialog()末尾写一句ShowWindow(SW_MINIMIZE);就可以了。对话框也是CWnd派生出来的嘛,ShowWindow()很强大的喔,看看MSDN帮助,多试试,自有好处。当然还可以选择最大化,ShowWindow(SW_MAXIMIZE); ShowWindow(SW_SHOW); 等原创 2013-08-27 23:32:37 · 552 阅读 · 0 评论 -
VC 缩进,断点操作等的快捷键
选中需要缩进的代码:按alt + F8. 去掉全部的断点是:ctrl + shift + F9原创 2014-01-04 20:38:20 · 1326 阅读 · 0 评论 -
vs2015中臃肿的ipch文件夹
转自:http://blog.163.com/yangjun1988422%40126/blog/static/47412917201074446054/ 使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量,可惜毕竟硬盘还没有廉价到免费的地步。那么,该怎转载 2017-03-29 15:46:40 · 6881 阅读 · 0 评论