VS/VC/MFC
文章平均质量分 72
HW140701
这个作者很懒,什么都没留下…
展开
-
Visual Studio – 借助远程Linux服务器环境在Visual Studio中编写和远程调试Linux C++程序
1 环境准备1.1 安装使用C++的Linux开发的工具集首先需要在Visual Studio Installer中安装使用C++的linux开发的工具集等待使用C++的Linux开发的工具集安装完成,并重启Visual Studio。1.2 准备可远程的Linux服务器以及在远程服务器安装远程调试环境1.2.1 明确Linux服务器的cpu架构首先需要清楚该服务器的cpu是x_86、x_64还是arm,这在之后的Visual Studio中需要选择编译平台。1.2.2 配置远程Linux服原创 2022-03-14 15:32:16 · 14276 阅读 · 0 评论 -
mciSendCommand在Win10上奔溃的问题解决/循环播放音乐
1 Win7下使用mciSendCommand播放音乐的代码 /* 2 MCI方式播放音乐 */ if (!m_Mp3FilePath.empty()) { m_MciOpen.lpstrDeviceType = "mpegvideo"; //要操作的文件类型 m_MciOpen.lpstrElementName = m_Mp3FilePath.c_str(); //要操作的文件...原创 2020-03-06 10:43:08 · 888 阅读 · 3 评论 -
OpenGL+MFC对三维点云的法向量实现可视化
最近有小伙伴在问,我想显示一个求得的三维点云中的每一个点的法向量的指向,怎么获得这种逼真的三维显示效果呢?当然是OpenGL啦,也是我自己用的比较习惯,所以就花了十几分钟帮助上面提问的小伙伴解决问题,然后也提供给大家一个查看三维点云法向量的工具,稍后我会在我的CSDN的下载频道上传该软件的Release版本供大家使用,主要的显示效果是三维点云中的每一个点使用实心球体表示,法向量用一个方向箭...原创 2017-09-08 22:41:28 · 6446 阅读 · 8 评论 -
VC,VS,C++,OpenGL,OpenCV,VTK,Python常见的编译错误及解决方案
其实这个博客应该在自己入门的时候写的,这样就可以完完整整的记录在学习的过程中所遇到的一些编译错误,这样既可以防止自己在下次碰见这个问题不会因为忘记而导致又得重新寻找解决方法,再者可以很好地帮助其他新的入门者,不过从现在开始也不算太晚。1.error c3861:"_T:找不到标识符"包含以下头文件#include<tchar.h>2.error C2664: “Create...原创 2016-12-27 19:45:50 · 1743 阅读 · 0 评论 -
VS2010开启OpenMP,进行并行化程序设计
1.OpenMP介绍OpenMP 是 Open MultiProcessing 的缩写,用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案。在项目程序已经完成好的情况下不需要大幅度的修改源代码,只需要加上专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMp时,程序又可退化为...原创 2017-06-25 14:57:40 · 7321 阅读 · 0 评论 -
x64 win64编译环境下ADO链接Access数据库的问题解决
Win32编译环境下,用ADO数据库连接Access数据库一般都不会报错,但是最近由于项目上的需要,程序需要编译成64位以便申请到更多的使用内存空间,当把编译方式从Win32改为x64的时候,突然出现了数据库连接出现未知错误,这时候就猜到了应该是编译环境的改变导致了数据库连接出错,在参考了其他大神的解决方案之后,终于解决了这个问题,我的环境为Win7 64+MFC(VS2010)+ADO+Acce...原创 2017-05-02 10:00:51 · 6284 阅读 · 0 评论 -
解决MFC中两个类互相包含头文件所导致的错误
这个问题简单但是又容易犯错,当代码出现错误的时候让人非常的懊恼;比如有两个类:CleftView和CImplicitModelView两个类,现在有这样的需求需要在两个类中都调用对方的函数,所以就在CleftView.h中加上#include "CImplicitModelView",在CImplicitModelView.h中加上#include "CleftView.h",但是当我们兴...原创 2017-03-14 12:22:57 · 2721 阅读 · 2 评论 -
VS2010-MFC:用OpenGL在对话框中的PictureControl(图片控件)中绘制三维模型,可旋转、平移、缩放,可用于三维模型的预览
由于有这个需求,就是当在对话框设置一些数值的时候,可以在对话框上预览三维图像。(1)生成一个基于对话框的程序,或者直接在单文档或者多文档上插入一个对话框,生成一个新的对话框类CGridingDlg,名字可以任取。(2)配置好工程的OpenGL环境,不知道可以百度。(3)在CGridingDlg的头文件中添加以下变量:/*-----OpenGL绘图相关的变量---------...原创 2017-03-21 17:59:45 · 6960 阅读 · 17 评论 -
VS2010-MFC:MFC PictureControl控件上自适应显示图片,分图片失真或者图片不失真两种
MFC PictureControl控件上自适应显示图片,分图片失真或者图片不失真两种ShowPicture(CString Filepath){ /*----根据图片文件路径显示图片---------------------------------*/ int height, width; CRect rect;//定义矩形类 CRect rect1; CImag...原创 2017-04-15 10:25:30 · 6417 阅读 · 0 评论 -
防止 _com_util::ConvertBSTRToString 引发的内存泄漏
转载地址:防止 _com_util::ConvertBSTRToString 引发的内存泄漏 - 空瞑的日志 - 网易博客 http://blog.163.com/tijijun@126/blog/static/68209745201302805141656/点击打开链接啊,数据库编程使用_com_util::ConvertBSTRToString去转换字符,但是万万没想带这个东西会转载 2017-10-18 20:55:04 · 1133 阅读 · 0 评论 -
C++下载指定Url网络地址上的文件-Windows Api
#include <stdio.h> #include <Windows.h>#include <wininet.h> #pragma comment (lib,"User32.lib")#pragma comment( lib,"Urlmon.lib")#pragma comment( lib, "wininet.lib") #define MA...原创 2017-10-11 19:39:16 · 6518 阅读 · 3 评论 -
VS2010-MFC下控件Win7风格设置
MFC的界面太丑了,但是学会之后写一写简单的可交互的PC端程序还是可以的,但是用VS2010自己生成的MFC工程上的控件程序还是MFC经典风格,实在是看不下去,如下要使其按钮带有Win7风格,带有Aero的美化效果(1)需要在MFC工程的头文件Stdafx.h文件中,加入以下代码/*用vs2010做mfc界面,按钮的风格默认都是经典的98风格,想改成win7风格原来这...原创 2017-03-15 12:25:28 · 7604 阅读 · 1 评论 -
VS 日常用的快捷功能总结(备忘)
1 函数调用以及被调用层次结构ctrl+k ctrl+t 组合键查看函数的调用层次结构2 其他快捷键格式化代码 Ctrl+K,Ctrl+D 折叠/展开选中代码 Ctrl+M,Ctrl+M 折叠当前文档代码 Ctrl+M,Ctrl+O添加/删除书签 Ctrl+K,Ctrl+K注释 Ctrl+K,Ctrl+C取消注释 Ctrl+K,Ctrl+U全...原创 2018-09-04 13:24:08 · 393 阅读 · 0 评论 -
Visual Studio 增加每行最多字符数限制参考线
1 下载插件Editor GuidelinesEditor Guidelines:https://marketplace.visualstudio.com/items?itemName=PaulHarrington.EditorGuidelines2 Visual Studio 中设置Visual Studio中打开命令窗口:视图->其他窗口->命令窗口,如下图所示3 命令...原创 2018-12-21 15:21:02 · 13760 阅读 · 3 评论 -
Visual Studio Git配置笔记,利用Git进行可靠的版本管理
1 Visual Studio 安装Git扩展插件在Visual Studio工具栏上打开工具菜单栏,点开扩展和插件按钮,从联机中搜索Github在VS上的插件,下载安装即可,主要步骤如下图所示。安装完GitHub插件之后,关闭Visual Studio,然后重启,使得插件生效。2 Visual Studio Git测试2.1 新建测试的C++空项目在重启Visual Studio...原创 2019-05-01 13:25:23 · 3803 阅读 · 0 评论 -
Visual Studio 设置数据断点以及条件断点
1 示例代码#include <iostream>using namespace std;class A{public: A(); virtual ~A(); void Add();private: int m;};A::A(){ m = 0;}A::~A(){}void A::Add(){ m++;}int main()...原创 2019-07-18 14:36:15 · 14342 阅读 · 6 评论 -
Visual Studio 查看$(Configuration)/$(ProjectName)/$(SolutionFileName)/$(SolutionPath)等各种宏定义的方式
当在配置一个新的空的Visual Studio项目的时候,我们经常需要设置项目的各种目录,比如说中间目录,输出目录等等,以免这些临时的编译文件或者是结果文件污染我们项目的目录的层次,所以我们经常会通过使用宏定义与相对路径相结合的方式,例如以下宏去定义中间目录或者是输出目录。$(Configuration)/$(ProjectName)/$(SolutionFileName)/$(Solution...原创 2019-08-10 13:32:42 · 2594 阅读 · 0 评论 -
VS2010-MFC:单文档左侧可停靠对话框(包含树控件)的实现
在程序开发中我们经常看见有一些软件左侧有目录树或者是图层树,点击之后就可以右侧View窗口显示相关的内容,其实实现这种机制有两种方法,第一种就是对MFC的View窗口进行窗口分割,左侧的窗口view类派生于CTreeView,其中CTreeView自带一个变量用于View中的树控件的控制。第二种方法就是用一个可停靠的面板嵌套一个对话框,再在对话框中添加树控件,同样可以达到相同的目的。以下详...原创 2017-04-06 11:15:23 · 8326 阅读 · 8 评论 -
VS2010-MFC获取某个树控件某个树节点下所有子节点的文本
MFC项目开发过程中需要获取某个树控件下某个树节点下所有的子节点的文本,添加到某个组合框上,网上的相关代码差不多是遍历整个树控件,所以自己就封装了一个函数,用于获取指定树节点下的所有的子节点的文本然后添加到某个组合框中,其中获取的文本被压入CString类型的容器保存。/*-----GetHTREEITEMallName(CTreeCtrl *ptheTree,HTREEITEM hT...原创 2017-03-21 12:14:03 · 6513 阅读 · 0 评论 -
MFC单文档修改状态栏的提示信息
用惯了AfxMessageBox(),总感觉这个东西不那么顺手,就想在状态显示当前程序的提示信息。想要在任何类中都设置状态栏的信息,必须获取到m_wndStatusBar的指针。所以第一步,将CMainFrame中的m_wndStatusBar的保护类型从保护改为public第二步:在任意类中添加下列代码,改变状态栏的提示信息//以下两行用来设置状态栏的提示信息...原创 2017-03-07 11:01:02 · 4857 阅读 · 0 评论 -
常见的Windows数据类型-Windows API
Windows API中会用到很多的Windows特有的数据类型,如下所示BOOL 布尔型变量BYTE 字节类型(8位)CHAR 8比特字节(ANSI)CONST 常量,相当于标准C中的const关键字DWORD ...原创 2016-11-13 21:52:11 · 1585 阅读 · 0 评论 -
MFC VC++文件操作大全
1.创建文件夹CreateDirectory(%%1,NULL);2.创建文件CFile file; file.Open(%%1,CFile::modeCreate|CFile::modeWrite); 3.删除文件DeleteFile(%%1);4.删除文件夹RemoveDirectory(%%1); 5.删除一个目录下所有的文件夹CFileFind finder;...原创 2016-11-04 21:02:20 · 1313 阅读 · 1 评论 -
MFC的Format函数
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看Format用于转换的格式字符:%c转载 2016-10-12 12:20:06 · 1334 阅读 · 0 评论 -
VC消息大全
VC消息大全hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。lParam 通常是一个指向内存中数据的指针。由于W转载 2016-04-11 14:06:57 · 598 阅读 · 0 评论 -
VC++中将对话框的背景设为自己想要的图片,增加打开文件按钮
(1)用Windows画图工具将图片另存为.bmp图片,现在测试支持16色图片,24色图片可以支持,256色未测试。1、把你的图包含到程序的“Bitmap资源”里,提示说该资源使用了大于256色的调色板,在VC里无法编辑等等,点确定就可以2、定位到 void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代码 else...原创 2016-04-11 20:38:19 · 1030 阅读 · 0 评论 -
匈牙利标记法
匈牙利标记法匈牙利符号表示法 如果你正在动作一个像Microsoft一样的公司,有几千个程序员都在干不同的项目,在某一点上就应当提出一个编写代码的标准方式。否则,结果将是一片混乱。因此一个名字叫Charles Simonyi的人被委托创立了一套编写Microsoft代码的规范。这个规范已经用作编写代码的基本指导说明书。所有Microsoft的API、界面、技术文件等等都采用这些转载 2016-04-13 09:15:29 · 1081 阅读 · 0 评论 -
MFC 用进度条在状态栏显示某个按钮响应函数的过程,并用多线程实时更新
因为写的一个按钮的响应函数在数据量大的情况下会出现未响应的情况,所以为了让人直观的可以觉得程序仍然还在运行,并实时显示函数的运行状态。(1)首先MFC工程中新建一个类,这个类不是MFC类而是Generic Class,在类视图下,添加一个新类,并选择Generic Class,将这个类命名为CProgressStatusBar,设置其基类为CStatusBar(2)在资源视图,字串...原创 2016-09-01 21:19:28 · 4986 阅读 · 2 评论 -
Win7 64位下让VC++6.0编写的Win32程序单进程运行内存突破2G
最近在调试一个大型的MFC程序的时候,需要在Cview类中申请一个double(float)array[2100][400][500]的三维数组,首先声明一点,算法比较复杂,暂时没有办法去修改算法,所以必须要申请一个这么大的三维数组空间。(1)首先在栈中申请了一个固定数组array[2100][400][500],结果VC提示超出栈的保留空间了。这种方法OUT(2)然后用std::vect...原创 2016-08-06 18:08:40 · 4966 阅读 · 0 评论 -
CString,string,char*之间的转换
转载地址:http://www.cnblogs.com/bluestorm/p/3168720.html这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者转载 2017-01-03 11:17:27 · 724 阅读 · 0 评论 -
MFC 两种创建状态栏方法以及在状态栏实时显示时间
一、创建状态栏的两种方法创建状态栏有两种方法,分别使用CStatusBarCtrl和CStatusBar两个类来完成方法一:1.添加成员变量CStatusBarCtrl m_StatusBar;2.在OnInitDialog()中加入: m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBT_OWNERDRAW, CRe...原创 2017-01-03 16:23:36 · 8448 阅读 · 1 评论 -
VS2010-MFC下在状态栏中添加进度条用于显示当前文件的读取进度
VS2010-MFC在状态栏上添加进度条比在VC6.0中更加简单,不需要再从CStatusBar类中派生子类。仔细查看VS2010生成的MainFrm.h文件我们可以看出,m_wndStatusBar已经是CMFCStatusBar的对象了,而不是CStatusBar对象。所以就去微软的官网查看CMFCStatusBar的帮助文档,有中文,太好了微软提供的MFC的帮助文档,有中文C...原创 2017-03-19 15:01:39 · 9250 阅读 · 5 评论 -
VTK中改变默认的vtkAxesActor坐标轴上X,Y,Z的字体颜色,从白色改为其他颜色
在VTK中绘图需要使用到坐标轴,所以决定使用vtkAxesActor这个类在窗口中绘制坐标轴,但是由于我预先设置的窗口背景色为白色,而vtkAxesActo坐标轴字体X,Y,Z三个字的字体的默认颜色也为白色,当颜色混在一起,白色看不清楚,如下在出现上面的情况的时候决定修改vtkAxesActor本身的字体颜色,但是vtkAxesActor本身并不提供这一功能,所以通过查看vtkAxes...原创 2017-01-10 10:26:44 · 8132 阅读 · 2 评论 -
MFC使用EasySize类自动调整对话框上控件的布局
easysize.h自行在CSDN下载频道进行下载。EasySize.h的使用方法:步骤一:把easysize.h拷贝到CMyDlg项目文件夹中,同时在CMyDlg的.h文件和.cpp文件中加入#include "easysize.h";步骤二:在CMyDlg类的h文件中,加入DECLARE_EASYSIZE,注意结尾处不要加“;”。class CMyDlg : public CD...原创 2017-01-08 21:39:51 · 1925 阅读 · 0 评论 -
MFC对话框程序EDIT类控件的自动换行,垂直滚动条自动下移
1.新建一个编辑框控件(Edit Control),将其多行(Multiline)前面打勾(属性设置为True),Auto HScroll(自动水平滚动)前面的勾去掉(属性设置False),这样就可以实现每一行填满后自动换行了。2.再将垂直滚动条(Vetrical Scroll)前面打勾(属性设置为True),自动垂直滚动打钩,设置成true,当输入或显示超过编辑框的大小后就会出现垂直滚动条。...原创 2016-12-29 16:15:32 · 2819 阅读 · 0 评论 -
VC++获取一个文件夹下所有文件的文件名或者给定类型文件的文件名
VC++获取一个文件夹下所有文件的文件名或者给定类型文件的文件名,并把文件名存入Cstring类型的Vector中vector<CString>m_FileListvoid CXXXXDlg::GetFileFromDirectory(CString csDirPath) //csDirPath为文件夹名字,把该文件夹底下的jpg文 ...原创 2016-11-14 20:44:04 · 6120 阅读 · 0 评论 -
MFC应用SkinMagic皮肤可视化包更换程序外观皮肤
1.SkinMag MFC美化界面库总所周知,MFC的皮肤比较呆板,有各种各样的MFC界面库可以供我们使用,来修改程序的外观。C++界面库可以参见:http://blog.csdn.net/witch_soya/article/details/10982451在这里介绍一种配置比较简单的MFC界面库SkinMagic。可从这里下载SkinMagic2.4破解版:http://downl...原创 2017-01-04 21:14:27 · 8766 阅读 · 4 评论 -
MFC类与类之间的访问与调用(单文档应用程序+多文档应用程序)以及在一个对话框中获取另一个对话框的指针
在实际的应用中,经常需要在多个类之间交换数据,调用另一个类中的函数,框架提供一系列的函数用于多个类之间的交互1.单文档应用程序的类与类之间的访问(1)在所有类中获取App指针:CWin *pApp=AfxGetApp();CXXXApp *pMyApp=(CXXXApp*)pApp;(2)所有类中获取CMainFrame类指针:CMainFrame *pFrame=(...原创 2016-04-28 16:18:31 · 5852 阅读 · 0 评论 -
MFC中弹出选择文件夹的对话框 BROWSEINFO 的用法
转载地址:弹出选择文件夹的对话框 BROWSEINFO 的用法【MFC】 | 学步园 http://www.xuebuyuan.com/1871860.htmlvoid CMFC_TrojanKillerDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 BROWSEINFO bi; //BROWSEI转载 2017-01-03 10:44:01 · 4936 阅读 · 0 评论 -
VTK与MFC单文档程序联合编程
兴趣需要,想做下VTK与MFC想结合的程序,MFC快要在桌面程序上面失去市场份额了,现在大多使用QT来做,但是本科的时候学的就是MFC,也相对来说比较熟悉,所以就想使用MFC来写一个简单的单文档程序。首先我们需要在编译的时候将USEGUISUPPORT->USEMFC勾选上,才能在MFC平台上使用VTK。网络上现在大多流行两种VTK和MFC的方法,其实两者结合的关键就是将VTK的绘制窗口...原创 2016-05-10 09:45:40 · 3763 阅读 · 1 评论