VS2013
大树学长
多年专业音响、乐器行业经验,PC端、MAC端、安卓端软件开发,精通上位机软件制作。
展开
-
WIN32开发之判断字符串像素宽度
使用GDI+的MeasureString函数来实现这个功能1、初始化GDI+#include <gdiplus.h> using namespace Gdiplus;#pragma comment(lib, "gdiplus") 2、判断长度等下面这个是判断字符串长度超过240像素后,先获取字符串在240以内部分,然后超出的部分加"..."显示Graphics gra(hdcBuffer); //首先创建字体相关 FontFamily fontFamily原创 2020-11-16 15:17:55 · 461 阅读 · 0 评论 -
VS2013之Windows平台兼容性问题
1、使用VS查看生成的exe文件所有dll依赖库打开文件然后根据VS中生成的exe是32位还是64位来打开命令提示工具然后使用命令进入exe运行的路径,再exe路径 + dumpbin /dependents exe名称.exe或者直接dumpbin /dependents exe路径如果名称有空格的需要带“”回车后就会显示exe需要的依赖库原则上建议将所有的库都和exe放在一起,以免在别的电脑上打开exe会提示什么乱七八糟的错误的问题,这些都是缺少库或者32原创 2020-07-17 09:32:05 · 1020 阅读 · 0 评论 -
MFC开发之自绘进度条
继承基类CProgressCtrl重载OnPaint()//CPaintDC dc(this); // device context for painting CBrush BackgroundBrush; BackgroundBrush.CreateSolidBrush(RGB(95, 93, 93));//背景 CBrush ForeBrush; ForeBrush...原创 2019-07-03 15:57:16 · 490 阅读 · 0 评论 -
WIN32开发之Unicode字符集下cstring转换为char[]相互转换
1、CString转char[]CStringSeveName;//char ch[100];memcpy(a, SeveName, SeveName.GetLength() * 2); for (int i = 0; i < SeveName.GetLength(); i++) { a[i] = a[i * 2];...原创 2019-07-12 18:33:53 · 178 阅读 · 0 评论 -
VS2013提示:“包含在 Image 和 Image 项组中。项目项不允许这样做,它只能属于一个项组。”解决方法
当我将放工程名的文件夹修改后就出现这种错误提示继续会显示路径下的res中ico文件包含在 Image 和 Image 项组中。项目项不允许这样做,它只能属于一个项组。解决办法:找到工程中的带.vcxproj的文件使用记事本打开打开后搜索那个ico文件根据和正确的解决方案中的vcxproj对比,将上面那个用红色箭头指向的ico删除掉,只保留下面那个ico路径指向,问题就解...原创 2019-07-04 10:11:15 · 1076 阅读 · 0 评论 -
MFC开发之Run-Time Check Failure #2 - Stack around the variable 'ch' was corrupted.
Run-Time Check Failure #2 - Stack around the variable 'ch' was corrupted.运行时检查失败2-变量“ch”周围的堆栈已损坏。就是内存越界造成的,ch为数组,比如int ch[100];当给传值给ch[101] 就不行了,解决办法就是增加ch数组的组数ch[100]->ch[200]...原创 2019-07-15 18:08:09 · 925 阅读 · 0 评论 -
MFC开发之 error RC2108: expected numerical dialog constant
每次在资源中使用图片控件Pictrue Control都会提示error RC2108: expected numerical dialog constant,点击错误进入到错误的位置,添加"Static",SS_BITMAP,即可解决问题PS:每次操作图片控件都会重复出现这个错误,需要重新添加,具体原因还不清楚...原创 2019-07-24 10:41:50 · 339 阅读 · 0 评论 -
MFC开发之对话框背景贴图对控件刷新闪烁问题的解决办法
CPaintDC dc(this); CDC memdc; memdc.CreateCompatibleDC(&dc);//创建兼容DC CBitmap bkg; bkg.LoadBitmap(IDB_BITMAP1);//载入位图 BITMAP bkginfo; bkg.GetBitmap(&bkginfo);//获取位图信息 memdc.Sel...原创 2019-07-26 11:34:32 · 988 阅读 · 0 评论 -
MFC开发之图片控件Picture Control显示图片并随对话框大小伸缩
在基于对话框的工程中,使用图片控件,并平铺整个对话框大小图片控件申明和静态文本框一样放在初始化函数OnInitDialog中CRect rt_this;GetWindowRect(&rt_this);CRect rc; GetDlgItem(IDC_STATIC10)->GetClientRect(&rc); CDC* pdcpic = GetDlgIt...原创 2019-07-26 11:41:13 · 1247 阅读 · 0 评论 -
MFC开发之URLDownloadToFile开线程添加进度条
1、MFC中创建多线程,MyThread为静态函数AfxBeginThread(MyThread, this);//2、URLDownloadToFile中使用进度条需要调用进度条这个控件,这个需要用到类对象在主线程使用直接用this就可以了,但是多线程中就不行了,会提示this只能用户非静态成员函数内部这个时候可以使用静态函数MyThread(LPVOID pParam)中pPa...原创 2019-07-08 18:33:33 · 489 阅读 · 0 评论 -
MFC开发之ListControl自绘相关
自绘继承基类CListCtrl1、去掉选中时系统那种蓝色背景重载OnCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)添加NMLVCUSTOMDRAW* lplvcd = (NMLVCUSTOMDRAW*)(pNMHDR); int nRow = (int)lplvcd->nmcd.dwItemSpec; switch (lplvcd...原创 2019-07-03 09:30:51 · 885 阅读 · 0 评论 -
MFC关于VS2013内存释放的定位
全部在App中完成1.在 App.h 头文件声明#ifdef _DEBUGprotected: CMemoryState m_msOld, m_msNew, m_msDiff;#endif // _DEBUG 2.在 App::InitInstance() 中添加如下代码:#ifdef _DEBUG m_msOld.Ch原创 2015-12-16 09:59:35 · 1876 阅读 · 0 评论 -
VC6工程升级VS2013遇到的问题
问题1:Building an MFC project for a non-Unicode character set is deprecated解决方法:用于多字节字符编码 (MBCS) 的 MFC 库 (DLL) 不再包含于 Visual Studio 中,但是可用作插件,您可以在任何装有 Visual Studio Professional、Visual原创 2016-12-21 08:53:20 · 514 阅读 · 0 评论 -
MFC之VS2013使用错误集
一、错误提示:error C4996: 'sprintf': This function or variable may be unsafe. Cons错误代码:sprintf(sendBuff, "Message %d", ncount++);错误原因:VS2013中IDE默认禁止这种容易产生漏洞的旧函数解决办法:1、使用更安全的函数2、在错误代码前面添加#pragma warning(disa...原创 2017-03-16 10:40:49 · 703 阅读 · 0 评论 -
【VS2013中使用GDI+绘图】
VS2013中使用GDI+绘图原创 2015-07-13 09:00:41 · 4616 阅读 · 1 评论 -
版本管理软件SVN使用
SVN软件分为服务端和客户端。原创 2018-05-11 10:53:03 · 196 阅读 · 0 评论 -
Windows软件打包工具的使用
注:如果打包的软件要发往国外记得先使用这个网站进行杀毒扫描打包后的软件:http://www.virscan.org/language/zh-cn/注:打包遇到过里面的exe文件不见了,这个是因为整个打包文件夹里面有的文件名称有问题,修改名称改变文件的顺序后再打包就解决了工具软件下载地址:https://download.csdn.net/download/bigtree_mfc/1...原创 2018-05-23 14:21:56 · 10328 阅读 · 1 评论 -
WIN32绘图
1、画椭圆、圆并填充颜色有边框:HBRUSH hbrush = CreateSolidBrush(color);SelectObject(Hdc, hbrush);Ellipse(Hdc, x1, y1, x2, y2);DeleteObject(hbrush);无边框:HPEN hPen = CreatePen(PS_NULL, 1, 0);HGDIOBJ hPenO...原创 2018-07-03 15:30:29 · 490 阅读 · 0 评论 -
MFC开发之各种笔记
1、问题:获取CString长度时使用GetLength获取的都为0解决办法:在取长度之前用GetBuffer()了如果用了,就在用后ReleaseBuffer()一下2、从一个类调用另一个类的函数(函数中有控件操作)一般的从一个类调用另一个类的函数、变量一般就是:A、B两个类,在B类中添加就可以CMyA a;a.变量或者函数;但如果调用A中的函数有控件操作就会程序错...原创 2019-07-01 18:05:10 · 297 阅读 · 0 评论 -
【VS2013学习】
1、SerialPort类关于sprintf()问题Project项目 -> Configuration Properties 配置属性 -> C/C++ -> Preprocessor 预处理器 -> Preprocessor Definitions 预处理器定义 单击右下拉按钮,编辑添加_CRT_SECURE_NO_DEPRECATE和_SCL原创 2015-06-02 10:43:36 · 1306 阅读 · 0 评论