![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC++/MFC
#Page#
这个作者很懒,什么都没留下…
展开
-
getopt getopt_long的VC MSVC 微软版本
直接拿去用即可:GitHub - lifegpc/getopt-MSVC原创 2023-03-04 17:01:28 · 178 阅读 · 0 评论 -
Qt的QSerialPort 使用注意事项
基本用法就不说了,说一下注意点:1、不可以跨线程使用,比如GUI构造,传指针给子线程,NO!2、同步和异步方法不可以混用,同步包括waitForReadyRead, waitForByteWritten这2个函数;异步方法包括dataReady, byteWritten等信号继续:Qt的QSerialPort 使用注意事项-3YL的博客 (labisart.com)...原创 2022-06-09 17:29:11 · 733 阅读 · 1 评论 -
c++11 range-loop might detach Qt container (QStringList)避免方法
字面描述是循环会分离此列表。避免出现此警告用如下方法原创 2022-06-07 15:11:40 · 2789 阅读 · 0 评论 -
C++以类作为指针数组及双重指针如何初始化?
大家都讲int类型的双重指针,我们讲讲类的双重指针,这个在实际用得上原创 2022-06-02 12:04:16 · 289 阅读 · 0 评论 -
qInstallMessageHandler在debug模式下无效
qInstallMessageHandler大家都知道怎么用,但是有没遇到debug调试模式下不能输出呢?windows平台啊,linux好像没问题。解决方案就是:qInstallMessageHandler 在debug模式下无效-3YL的博客原创 2022-05-20 15:11:03 · 381 阅读 · 0 评论 -
C++ 单例加入初始化参数
上一篇文章见:C++单例模式及线程安全(含2004年和2011年版本)-3YL的博客留言有个扛精,号称写了几十万行代码,说单例就要把初始化参数写死到类里面。那么我们来举一个例子。比如我们有一个INI读写类,因为读写同一个文件,那做成单例肯定有好处,不会多个实例访问。代码如下:class Config : public QObject{public: // 单实例 static Config& i(); void save(const QString &原创 2021-12-18 11:29:07 · 2147 阅读 · 2 评论 -
dll 导出类产生的dll 地狱问题
不说导出那几种方式了,一般我们自己的工程只要一种就行: extern"C"_APIIExport*CreateExportObj(); 其中加不加 __stdcall __cdecl 都行。如果要给别人用就一般用 __stdcall。命名更改规律一图搞定:再来说说dll导出类。一般只要类前面加上 _API就行了,但是,这里容易出问题,出来一个叫dll hell,就是dll地狱问题。这个问题的现象就是,你改动了这个dll,如果app没有重新编译容易崩溃!...原创 2021-10-30 09:50:30 · 425 阅读 · 0 评论 -
含字母数字的字符串排序算法,目录文件名排序C++/C#/JAVA版本
不废话,上排序前后对比:类似与windows的目录文件排序,分几种版本C++/C#/JAVA给大家:含字母数字的字符串排序算法,目录文件名排序C++/C#/JAVA版本-3YL的博客原创 2021-10-20 14:18:38 · 333 阅读 · 0 评论 -
QTextEdit作为显示printf带颜色\033的字符串终端
好像没人做这个,我搞了个前景色的分享下。1、在append()字符串时设置颜色2、在append()字符串前判断颜色,并把\033[31m此类字符删除代码如下:QTextEdit作为显示printf带颜色\033的字符串终端-3YL的博客...原创 2021-10-15 10:46:21 · 360 阅读 · 0 评论 -
C++多态(虚函数)在自动化设备中的应用
现在自动化设备的生产力工具基本是Windows一家独大,期待鸿蒙早日赶上!既然是Windows主力,那么C#和C++是跨不过去的坎,我们只谈C++,只看性能,只为客户考虑效率,C#和JAVA我们都看不上!现在自动化设备电机的控制一般有脉冲和总线方式,对PC程序来讲就是控制卡或者软实时的问题,假如我们有2个设备,脉冲卡是不同的供应商,那么程序如何统一起来?这里初步分享一下。1、定义统一接口,然后上层调用时通过宏定义或者变量来区分不同的厂家,这里以获取卡的id字符串为例做个简单说明:std::原创 2021-10-05 10:15:33 · 240 阅读 · 1 评论 -
qt 提高代码质量及C++11特性学习
先说代码质量,仅供参考,不过我觉得有一定道理:① Use multi-arg instead【不要使用一连串的 arg().arg().arg() 了】QString("%1 %2").arg(a).arg(b); // BadQString("%1 %2").arg(a, b); // one less temporary heap allocation这个不一定好使,以前用过报错。② parameter 'list' is passed by value and only copi原创 2021-09-23 11:41:14 · 400 阅读 · 0 评论 -
C++单例模式及线程安全(含2004年和2011年版本)
老鸟一般用 C++ and the Perils of Double-Checked Locking这篇文章,老外写的,加了注释如下:http://labisart.com/blog/index.php/Home/Index/article/aid/227比较沙雕的翻译如下:http://labisart.com/blog/index.php/Home/Index/article/aid/227自从C++11出来后,一切都变了,以前叫人家小甜甜,现在叫牛夫人:std::atomic&l原创 2021-09-02 13:56:45 · 341 阅读 · 0 评论 -
Windows下Qt Creator设置IDE菜单字体样式 编辑器字体 显示字体 系统字体
本文为解决以下问题:IDE的菜单字体太小 IDE的菜单字体样式,可以更换为微软雅黑创建样式文件在Qt Creator目录下C:\Qt\Qt5.12.2创建 custom-style.css 文件,内容如下:http://labisart.com/blog/index.php/Home/Index/article/aid/158...转载 2020-04-08 14:38:47 · 2189 阅读 · 0 评论 -
C++ 类静态成员变量存取出错 undefined reference to 'xxx'
来自:http://blog.csdn.net/gdczcjf/article/details/7437830刚开始用C++写程序,遇到了一个很奇怪的问题,就是在类定义的面定义了一个静态成员变量,但在使用时编译器报错称变量不是类的成员。文件a.h内容:[cpp] view plaincopy/**********************A.h********转载 2013-05-10 19:56:44 · 7788 阅读 · 6 评论 -
MFC双缓冲解决闪烁问题
文章来自:http://jingyan.baidu.com/article/4b52d7025f0afefc5c774b12.html最近在写一个图像编辑软件,环境是MFC,但是MFC的视图刷新机制使得图像闪烁得非常厉害(图像缩放时尤其明显),在网上查了一些资料,最好的方法是用双缓冲的方式显示,这里总结一下。 双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在转载 2013-10-20 15:55:22 · 2241 阅读 · 0 评论 -
DOS(CMD)下批处理换行问题/命令行参数换行 arg ms-dos
程序来自:http://hi.baidu.com/nxhujiee/item/ae52584c36a13d0f6dc2f0f8DOS(CMD)下批处理换行问题本人经常写一些DOS批处理文件,由于批处理中命令的参考较多且长,写在一行太不容易分辨,所以总想找个办法把一条命令分行来写,今天终于试成功两种方法。一、在CMD下,可以用^作为换行符,类似于Linux下的\。举例如下:start转载 2013-09-29 17:33:05 · 32989 阅读 · 0 评论 -
vc 实现文件拖放操作: ondropfiles
1/重载wm_dropfiles2/在form属性选择accept files=true3/在ondropfiles添加如下: char *lpszFileName=new char[512]; int nFileCount; nFileCount=::DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 512);原创 2009-06-26 15:58:00 · 2667 阅读 · 0 评论 -
VC 系统菜单打勾,MFC Dialog SYS menu check CheckMenuItem
【blog.csdn.net/lanmanck】在系统添加菜单就比较容易了,使用VC的新建工程向导,有一个“系统菜单”,勾上后出来的工程就是有系统菜单“about”选项滴,仿照做一个即可。那么如何在系统的自定义菜单上打勾呢?搜索了半天,都不是系统菜单上的,其实也很简单,普通的菜单是GetMenu->GetSubMenu->CheckMenuItem();那么系统菜单就是,顺便做原创 2013-09-04 16:45:18 · 5289 阅读 · 0 评论 -
VC++ 如何检测某一个网卡是否连接上?net card connect detect
还是老外的比较牛逼,所有windows的网络相关API都在这里了,还带例子:http://www.gershnik.com/faq/manage.asp仔细看下Enabling and disabling interface/adapter这个章节就都有了。另外,关于枚举物理网卡和虚拟网卡,基本网上都有,我就不说了。要说就说点牛逼的,呵呵。原创 2013-09-02 19:30:58 · 3356 阅读 · 0 评论 -
Visual Studio的插件汇总
商业的:Visual AssistX开源的:CodeMaid,http://www.codemaid.net/有知道更多的,麻烦留言,我一并更新原创 2013-08-30 09:10:39 · 1299 阅读 · 0 评论 -
VC++ 坐标问题总结,控件大小随窗口变化
【出处:blog.csdn.net/lanmanck】一般变控件位置和大小在OnSize()消息中处理,不外乎几个函数:GetClientRect(),GetClientRect(),ScreenToClient(),MoveWindow()。今天说下这几个函数用法。假设有一个窗体,Dialog1,上面有一个Edit和一个Button,我们希望窗口大小改变时,Edit大小跟着变,最好铺原创 2013-08-16 20:54:48 · 5335 阅读 · 0 评论 -
收藏一个好用的C++串口类/RS232/serial port,VC++串口读写归档
Cncomm,见链接http://blog.csdn.net/luxiaoxun/article/details/7646348以前用过,现在又想用,找了半天才想起来。原创 2013-01-16 19:57:52 · 9798 阅读 · 0 评论 -
检测USB插入和移除事件
问者:sumoyu() 信誉:100 级别:user1 日期:2006-10-13 10:12:51监测到USB的插入或移出,得到盘符; 事件WM_DEVICECHANGE可以监测到插入和移除,如何判断是插入还是移除,以及如何取盘符回复: 答者:FFSB(搞点小资) 信誉:100 级别:user2 日期:2006-10-13 11:07:49 id:37208771原创 2009-01-23 08:54:00 · 8283 阅读 · 0 评论 -
介绍2个工业控件
【出处:blog.csdn.net/lanmanck】仪表盘:http://www.codeproject.com/Articles/20341/Aqua-GaugeLCD:http://www.codeproject.com/Articles/150180/A-MFC-GDI-LCD-Control原创 2013-07-22 09:24:51 · 1974 阅读 · 0 评论 -
USB枚举错误 bus hound bad config desc
使用Bus hound监测的时候,发现host在SET CONFIG后提示 bad config desc。找来找去,还是google帮了忙,一个台湾哥们遇到了类似问题,提到配置问题。后来我重新对比了Cypress的固件,发现配置描述符确实不太一样,主要是interface之前设置了2个,其实用到了一个,导致主机设置配置的时候有问题。所以,重新修改配置描述符就OK了。原创 2013-05-15 14:33:48 · 2782 阅读 · 1 评论 -
VC创建bmp 图标,imagelist 制作 /生成 /工具栏
来自:http://www.cnblogs.com/xiaosuiba/p/3269936.htmlVC开发难免会用到toolbar,在没有美工的时候,大部分时间我们只能自己上。第一个方法:fireworks/photoshop平铺。现在的图片资源大多为背景透明的png图片,虽然fireworks工具可以直接平铺多个图片生成toolbar图片,但这是建立在每个图片实际大小一致前提上,由转载 2014-02-11 17:36:18 · 3154 阅读 · 0 评论 -
VC++ MFC+GDIPlus 双缓冲解决闪烁问题
经过测试,GDIPlus的双缓冲也解决了,画的图果然灰常漂亮,原创 2014-04-21 11:35:32 · 1919 阅读 · 0 评论 -
MFC的多国语言界面的实现 dialog multilanguage 基于对话框
转载请注明原文网址:http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html目前很多软件都是要出口到多个国家,因此,为软件提供多国语言支持就成为了一个基本条件。为软件提供多国语言的支持的具体实现方法有很多,但基本原理都差不多,就是实现代码和语言包的独立,代码根据设定的语言选择语言包。其中,MFC的资源文件就提供了对转载 2014-08-19 13:31:45 · 5681 阅读 · 0 评论 -
cstring 转成 char* 的几个方法,老外写的,比较经典
Generally problem comes when Unicode characterset was enabled in your project. We can enable/disable Unicode by changing the Character Set property of the project. If Unicode not enabled, below me原创 2009-02-25 22:08:00 · 1349 阅读 · 0 评论 -
分享一个自己写的串口数据分析、图形显示软件 can debugger 串口调试助手 免费,功能强大!
使用VC++ MFC编写,遇到的一些问题可以翻看以前博客。数据包基于CAN的包格式,波特率使用460800,截图:下载:https://item.taobao.com/item.htm?spm=686.1000925.0.0.xbeGS3&id=521799122300原创 2016-03-03 12:16:28 · 14421 阅读 · 6 评论 -
VC++ MFC 系统菜单添加子菜单 CMENU submenu GetSystemMenu
在系统菜单怎么添加一个菜单我就不说了,网上比较多,但是也比较笼统,后面会有代码放出。这里主要说的是怎么添加子菜单,使用AppendMenu和InsertMenu都可以,然后在处理的时候判断ID就可以了,只要ID不一样就可以识别点击的是哪个菜单。Step by step:1、定义一个菜单列表,我喜欢这样搞,比较方便:struct MenuIDAndString_s { UINT MenuI原创 2016-08-05 22:00:03 · 5161 阅读 · 0 评论 -
CListCtrl Checkbox 被点击消息捕获 判断单击 click响应 单击消息 单击状态
原文来自:http://blog.163.com/danshiming%40126/blog/static/10941274820134244250444/找了很多,有说响应NM_CLICK的,有说响应ItemChanged的,还是上面网址的哥们好使。不过我这里放出函数的创建过程,方便初学者,大家拿去happy吧。1、在h文件定义函数:afx_msg void CDlgFIFO::O原创 2016-03-06 18:25:23 · 4030 阅读 · 4 评论 -
MFC 改变窗体颜色 颜色渐变 内存DC CPaintDC
基本内容来自:http://blog.csdn.net/c__allen/article/details/7704359,我自己加了渐变部分,没有解决缩放重绘问题,除非在onsize中invalide();CPaintDC dc(this); CRect rect; CDC *pDC = &dc; CDC memDC; GetClientRect(&rect); C原创 2016-03-03 08:59:46 · 2531 阅读 · 0 评论 -
duilib相关信息和网址
前段时间给朋友写了个MFC UI,结果说UI不咋的。后来就了解了很多UI库,发现以前老同事提起过的duilib还在,就下来看看,期间找了不少资料,记录一下方便各位同学。1、svn地址以前在google,结果google找死被封了,就迁到github了。http://duilib.googlecode.com/svn/trunkhttps://github.com/duilib/du原创 2015-12-19 21:21:42 · 944 阅读 · 0 评论 -
安装usb驱动
//static UINT Res2File( LPCTSTR lpName, LPCTSTR lpType, LPCTSTR filename ) //把资源保存到文件{ HRSRC hRes = ::FindResource( NULL, lpName, lpType ); HGLOBAL gl =::LoadResource( NULL, hRes );原创 2009-06-26 16:47:00 · 1991 阅读 · 0 评论 -
Win7/8/10任务栏取消缩略图和预览 关闭任务栏窗口预览
【blog.csdn.net/lanmanck】百度会有2种结果:经验和taskbandcustomize软件,实际呢是大家没找到注册表的地方,分享一下我的方法了,平台是windows10。1、定位到 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced2、新建 ExtendedUIH原创 2015-09-13 12:00:34 · 10363 阅读 · 0 评论 -
网络的connect如何超时设置?MFC socket异步 timeout select
这个帖子很精彩:附关键代码:转载 2014-09-16 14:17:38 · 4267 阅读 · 0 评论 -
GdiPlus/Gdi+ 的Color()和Gdi 的RGB()宏的区别
Color定义:ConstructorDescriptionColor(ARGB)Creates a Color::Color object by using an ARGB value.Color(BYTE,BYTE,BYTE)Creates a Color::Color object by using specifie原创 2014-09-16 09:50:04 · 5204 阅读 · 0 评论 -
GDI+ /GDI Plus 绘制圆角矩形 Draw retangle round
参考如下:http://sbje5201314.blog.163.com/blog/static/28033862007026104233469/这是修改过的适合VC++的,目的是画一个圆角矩形,然后用同样颜色填充,没有阴影哦:#define OFFSET_X 5#define OFFSET_Y 5void DrawRoundRectange(Graphics &g,Color p原创 2014-09-09 14:52:06 · 9370 阅读 · 3 评论 -
Axialis IconWorkshop破解版不能用了?看这个替换品
一直以来用的是Axialis IconWorkshop,结果一段时间不用破解版居然被和谐了,擦。大伙儿看下这个ArtIcons,也可以从png做多种分辨率的icon,还可以一个icon包含多种分辨率,比如导入一张128x128的png后,在最右边点右键->New image就会出来菜单选择新分辨率了,然后另存为即可。关键是,ArtIcons可以破解哦,嘿嘿。在资源下载那里搜索吧。原创 2015-11-24 16:10:01 · 14265 阅读 · 1 评论