- 博客(220)
- 资源 (52)
- 收藏
- 关注
原创 VS调试MFC进入系统源代码配置
调试MFC代码有时候能进入MFC的源代码,有时候不能.之前一直没有深入研究.后面经过查资料发现每次调试必能进入源代码的配置.很简单,只需要3步.2.打开项目->属性->配置属性->常规,MFC的使用修改成"在静态库中使用 MFC"3.编译运行工程,在需要调试的地方打断点,然后按F11就能进入MFC的源码。1.打开工具->选项->调试->符号,勾选Microsoft符号服务器.
2025-01-07 13:46:25
346
原创 FFMPEG各个历史版本下载
下载网址:https://www.videohelp.com/software/ffmpeg/old-versions
2023-06-28 14:13:09
5078
原创 CxImage学习使用1:环境搭建
CxImage是一个可以用于MFC的C++图像处理类库类,它可以打开,保存,显示,转换各种常见格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式的文件。可以实现BMPJPG,PNG TIFF格式等等的互相转换。CxImage不仅可以实现图像文件的类型转换,还可以实现在内存图像数据的类型转换,并且使用很方便。
2023-04-21 17:22:58
1132
原创 MFC使用FFMPEG的环境配置
对于FFmpeg如何配置在VS上本身其实是非常简单的,所需要做的只有五步(本人是在VS2015上面配置的,在低版本的VS上面也基本一样)。第一步:下载FFmpeg包,编译好的库。官方下载地址:https://www.gyan.dev/ffmpeg/builds/下载完成后解压即可。第二步:在VS上面新建一个工程,然后将解压后的FFMPEG文件夹里面的include、lib文件夹和bin文件夹中所有的DLL拷贝到新建工程的代码文件夹下。(如果编译后的软件要发行出来也要拷到相应的rel.
2022-03-29 21:45:44
1161
原创 MFC使用SaveAs函数保存Excel文件时,弹出“文件已存在”问题
解决方法:在调用SaveAs函数的前后加上如上两行代码CApplication ExcelApp; ExcelApp.put_DisplayAlerts(FALSE); book.SaveAs(_variant_t(strSaveAsName), _variant_t((long)56), vtMissing, vtMissing, vtMissing, vtMissing, 0,vtMissing , vtMissing, vtMissing, vtMissing,vtMis...
2021-07-08 11:39:46
1276
1
原创 MFC获取Excel已经使用了的行数和列数
_Worksheetws;Rangerange;range=ws.GetUsedRange();//获得Worksheet已使用的范围range=range.GetRows();//获得总行数(LPDISPATCH类型)longUsedRows=range.GetCount();//即可获得已使用的行数了。获得列数也是一样的方法,把GetRows()改为GetColumns即可。注:1.首先程序中应该包含CExcel.h和CExcel.cpp; 2.有的...
2021-07-07 18:31:55
1155
原创 MFC用代码安装卸载矢量字体
MFC用代码安装卸载矢量字体具体代码在下面有贴出。具体工程下载:下载地址安装代码:void CInstallFontDemoDlg::OnBnClickedButton1()//安装字体{ CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Font File(*.ttf)|*.ttf; |Font File(*.otf)|*.otf; ||"), NULL); if (dlg.DoM
2021-02-19 15:06:16
397
1
原创 MFC将旧工程的对话框拷贝到新工程中的方法
步骤:1.用NotePad++打开旧工程和新工程的.rc文件2.在旧工程中找到需要拷贝的对话框在rc文件中的定义,使用Notepad++的查找功能,非常方便。3.将旧工程中rc文件中对话框的描述全部复制到新工程的rc文件中4.用Notepad++打开旧工程和新工程的resource.h文件5.然后将旧工程中对话框所用到的全部的宏定义都拷贝到新工程的resourc...
2019-09-24 16:41:20
874
原创 MFC在Unicode环境下CStdioFile写入中文失败
解决方法:包含头文件:#include <locale>然后加入下列代码: CStdioFile file; if (!file.Open(strPath, CFile::modeCreate | CFile::modeReadWrite)) return FALSE; char * old_locale = _strdup(setlocale(LC_...
2019-08-14 12:16:25
676
原创 MFC自绘CListBox控件出现“参数错误”的BUG解决办法
自绘后的CListBox在没有数据时,单击后会出现下图所示的对话框。原因是因为:typedef struct tagDRAWITEMSTRUCT {// disUINTCtlType;UINTCtlID;UINTitemID;UINTitemAction;UINTitemState;HWND...
2019-08-09 15:49:00
1320
原创 MFC将png添加成资源,然后用GDI+绘制
如下图,将png图添加到资源中,这样在编译程序时,编译器会自动将png图打包到生成得exe中,这样可以防止图片资源丢失或者被普通人盗用。将资源中的png图使用GDI+绘制的代码:BOOL CFrameView::ImageFormResource(UINT nID, LPCTSTR str, Image *& pImage){ HINSTANCE hIns = AfxGe...
2019-07-19 09:18:30
687
原创 MFC绘制不同背景颜色而显示不同前景色的虚线矩形
效果预览图:以下是实现代码:void CControlButton::DrawVirtualFrame(CDC * pDC, CRect rectScreen){ CRect rectVirtual(rectScreen.left + m_usLeftX, rectScreen.top + m_usLeftY, rectScreen.left + m_usRightX, rect...
2019-07-10 12:16:09
828
原创 QT Widgets设置窗口标题和图标以及EXE图标
一、QT Widgets设置软件的标题:setWindowTitle("辅助系统 V1.0");二、设置软件的窗口主图标:1)在项目中添加Qt资源文件,自定义命名;2)将窗口所需要图标/图片放在一个文件夹内,如images文件夹,然后从qt creator打开资源文件添加图片;3)在main.cpp中添加窗口显示图标代码,如w.setWindowIcon(QIcon(":im...
2019-05-16 16:04:11
8464
原创 MFC应用程序无法正常启动(0x0150002)。请单击“确定”关闭应用程序
MFC写的软件运行在没有安装vc运行库的操作系统上,报了如下图的错误。百度说是缺少vc动态库,于是下载了运行库合集安装。安装成功运行程序发现还是报这个错误,这就令人费解了。特意去查看了一下工程配置按理说这样的设置,应该是不需要运行库支持的,可以独立运行的。那为何又报0xc0150002这个错误呢。经过我多方排查,发现自己调用了自己写的一个DLL库。这个库是MFC的拓展D...
2019-05-09 16:28:23
2007
原创 MFC拖拽文件
实现MFC拖拽文件步骤:以多文档为例:1.在应用程序类App的InitInstance()函数后面,添加以下代码:m_pMainWnd->DragAcceptFiles(TRUE);2.响应主框架类CMainFrame的WM_DROPFILES消息,添加如下代码:voidCMainFrame::OnDropFiles(HDROPhDropInfo){...
2019-04-25 16:11:15
2263
原创 MFC以管理员权限启动另一个进程
MFC用代码直接操作注册表在某些机器上失败。也不知道具体原因是啥,我猜测是应为权限问题。然后我对进程进行了提权,可惜还是失败了。我就寻思用批处理文件进行注册表操作。要用批处理进行注册表操作必须是管理员权限的进程才行。因此启动新进程时必须提权。提权代码如下: //用管理员权限执行子进程 SHELLEXECUTEINFO sei = {sizeof(SHELLEXECUTEINFO)}...
2019-04-03 16:35:30
871
原创 Windows下驱动开学习--准备工作 二 (开发环境准备)
在上一篇博客中,我把所有要用到的工具都整理好了.现在就应该将它们安装好并使它们能够协同工作.让我们能够正式进入驱动开发.各个工具的具体安装步骤这里就不写了,毕竟在上一篇博文中已经有了教程.一、VMWare Work配置1、安装好虚拟机后,给虚拟机增加一个串口设备。具体操作见图:上面的\\.\pipe\com_1可以改\\.\pipe\com_2,我就不改了后面名字...
2019-03-06 15:20:23
599
原创 Windows下驱动开学习--准备工作 一 (工具准备)
所谓工欲善其事必先利其器.要想学习驱动开发,那么搭建驱动开发的环境就是必然的了.通过我看书,网上搜索所搜集的资料来看,我们前期需要准备好的工具有以下这些.1.VS2015(Visual Studio 2015)下载地址:https://msdn.itellyou.cn安装教程:https://blog.youkuaiyun.com/qq_23992597/article/details/8...
2019-03-04 12:30:55
974
转载 VMware虚拟机安装教程
转载链接:https://blog.youkuaiyun.com/qq_40950957/article/details/80467513一、虚拟机的下载1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Workstation Pro,如下图所示。2.根据操作系统选择合适的产品,在这里以Windows系统为例,点击转至下载,如下图所示。3.在1处可以选择版本,默认为最新...
2019-03-04 10:34:01
1632
转载 vs2015安装教程
为了更好地支持 Win10 程序的开发,微软发布了 VS2015。VS2015 支持开发人员编写跨平台的应用程序,从 Windows 到 Mac、Linux、甚至是编写 iOS 和 Android 代码!VS2015 共有三个版本,分别是:社区版(Community):免费提供给单个开发人员、 开放源代码项目、科研、教育以及小型专业团队!大部分程序员(包括初学者)可以无任何经济负担、合法...
2019-03-04 10:30:02
580
原创 Windows下驱动开发学习----前言
以前一直做MFC上位机的开发,并没有接触过Windows驱动相关的开发工作.这次公司要我研发Windows驱动。那就从零开始学习吧。
2019-02-28 10:20:44
220
原创 VS2015中创建多文档默认程序,任务栏默认显示多个子窗口的预览问题
VS2015中创建多文档工程.运行程序后,当打开多个文档视图时,在任务栏中就会显示相应个数的子窗口预览窗口.如下图所示个人感觉这种窗口使用起来很麻烦.想修改只显示一个主窗口的预览窗口即可.经过几个小时的源码追踪,终于发现了关键函数将此函数添加在CxxxApp::InitInstance()函数里,在LoadFrame()函数之前即可. ...
2019-01-30 15:02:11
1977
1
原创 VS2015 断点无效问题
解决方案配置必须是 Debug .工程属性页中“配置属性”->“C/C++”->“常规”->“调试信息格式”, 选择“用于“编辑并继承”的程序数据库(/ZI)”。另外,在“配置属性”->“链接器”->“调试”->“生成调试信息”中,不能选择“否”。...
2018-12-27 10:33:57
3896
转载 VS2008:Debugging information for "project.exe" cannot be found or does not match.
错误提示:Debugging information for "project.exe" cannot be found or does not match. Binary was not built with debug information. Solution:To enable debugging:1) Goto Project->Properties2) On t...
2018-12-11 11:43:21
505
转载 CListCtrl 虚拟列表技术
一、什么是虚拟列表控件虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件。。二、为什么使用虚拟列表控件我们知道,通常使用列表控件CListCtrl,需要调用InsertItem把要显示的数据插入列表中,之后我们就不必关心数据在哪里了,这是因为控件自己开辟了内存空间来保存这些数据。现在假设我们要显示一个数据库,里面的信息量很大,有几十万条记录。通常有两种方法解决这个问题:1是仅...
2018-10-11 11:47:42
1589
转载 vs2008 条件断点
条件成立触发断点先设置一个普通断点。断下来的时候再设置它的条件。如下图:在Breakpoints窗口中找到这个断点,右键选择Condition…如下图:输入条件,这样就会在这个条件成立的时候,才触发断点。内存改变时触发断点有时候想知道一个指针什么时候被改变了。可以用这种方法。先在指针处断下来。如下图:然后在watch窗口查看 【指针变量本身存放的内存地址...
2018-09-19 17:04:21
347
原创 MFC快速绘制点阵图形
方法一:使用GDI参数说明:1.CDC * pDC为绘图设备的指针 2.CRect rect为绘制区域, CenterRect是让绘图居中3.UCHAR * szcolor 是每个点的RGB值,格式时szColor[0] = R,szColor[1] = G,szColor[2] = B依次类推.4.int nColorLen是szColor的长度 void CShowF...
2018-09-12 11:51:59
2183
转载 Bitmap入门
一.Bitmap类Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:1. GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色.2. PixelFormat属性:返回图像的像素格式.3. Palette属性:获取和设置图像所使用的颜色调色板....
2018-09-12 11:33:24
962
原创 编译VC静态库中遇到的C2859错误解决方案
今天修改了工程的编译生成名称,刚开始编译没有问题.但是等我清空所有生成文件再次编译的时候出现了一下错误:error C2859: x:\XXX\vc90.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.mschart....
2018-08-21 14:37:54
855
1
转载 字体信息 TEXTMETRIC 字体结构 GLYPHMETRICS
tmHeight指字符高度(不包括两行字符之间的间距),tmAscent表示字符基线以上部分的高度,tmDescent表示字符基线以下部分的高度。tmInternalLeading表示字符内预留的间距包含在tmAscent中(主要用于显示重音符号等)。tmExternalLeading标准两行字符之间的间距,tmAveCharWidth表示(小写 x)字符的加权平均宽度,tmM...
2018-08-08 14:45:52
3238
转载 使用Windows中的字体生成点阵字库
所有的汉字或者英文都是下面的原理,由左至右,每8个点占用一个字节,最后不足8个字节的占用一个字节,而且从最高位向最低位排列。生成的字库说明:(以12×12例子)一个汉字占用字节数:12÷8=1····4也就是占用了2×12=24个字节。编码排序A0A0→A0FE A1A0→A2FE依次排列。以12×12字库的“我”为例:“我”的编码为CED2,所以在汉字排在CEH-AOH=2EH区的D2H-A0H...
2018-07-09 09:55:05
14884
1
转载 CFileDialog保存时带有默认的文件名
CFileDialog saveFile = CFileDialog(FALSE, ".mecd", "", OFN_CREATEPROMPT | OFN_PATHMUSTEXIST , "Multi-Engine Case Designer Script (*.mecd)|*.mecd|All files (*.*)|*.*||"); if(IDOK == saveFile.DoModal()...
2018-05-18 16:35:26
2214
原创 MFC判断鼠标是否在当前界面
BOOL CursorInWnd(CWnd * pWnd, CPoint pt){ return pWnd->GetSafeHwnd() == WindowFromPoint(pt);}BOOL CursorInWnd(CWnd * pWnd){ CPoint pt; GetCursorPos(&pt); return pWnd->GetSafeHwnd() ==...
2018-03-22 20:02:12
2098
原创 VS2015西红柿插件出现问题的解决方式
1.西红柿出现安装后出现下列对话框时的解决办法.下载破解版的支持vs2015的西红柿插件,下载链接:加群链接,资源问群主或者管理要安装完成后复制将下图中用红色框框选的DLL复制到你的西红柿插件的安装目录下如果还是不行的话,在我的电脑的C盘中搜索VA_X.dll,把所有能够被搜索到的DLL都用上图的DLL替代,当然PiaoYun.dll也一同拷贝.这个时候应该OK了,亲测是有效的!!
2018-01-18 21:57:21
3570
转载 MFC操作剪切板
1、文本内容的操作2、WMF数据的操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):CString source;//文本内容保存在source变量中if( OpenClipboard() ){
2018-01-15 18:28:40
3291
VC动态创建Edit,Edit响应回车按键时自动销毁!
2016-11-18
解决CRectTracker静态库时光标消失问题
2016-08-29
CMFCShellTreeCtrl打开家庭组错误解决代码
2016-07-21
VC调试日志输出
2016-07-20
串口发送文件
2016-06-22
vc创建可移动控件
2016-05-27
CMarkUp使用实例
2016-04-01
VC注册表文件关联,图标关联
2016-03-21
MFC添加使用快捷键功能
2022-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人