- 博客(310)
- 资源 (24)
- 问答 (7)
- 收藏
- 关注
原创 VS2013提示:“包含在 Image 和 Image 项组中。项目项不允许这样做,它只能属于一个项组。”解决方法
当我将放工程名的文件夹修改后就出现这种错误提示继续会显示路径下的res中ico文件包含在 Image 和 Image 项组中。项目项不允许这样做,它只能属于一个项组。解决办法:找到工程中的带.vcxproj的文件使用记事本打开打开后搜索那个ico文件根据和正确的解决方案中的vcxproj对比,将上面那个用红色箭头指向的ico删除掉,只保留下面那个ico路径指向,问题就解...
2019-07-04 10:11:15 1076
原创 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
原创 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
原创 MFC开发之各种笔记
1、问题:获取CString长度时使用GetLength获取的都为0解决办法:在取长度之前用GetBuffer()了如果用了,就在用后ReleaseBuffer()一下2、从一个类调用另一个类的函数(函数中有控件操作)一般的从一个类调用另一个类的函数、变量一般就是:A、B两个类,在B类中添加就可以CMyA a;a.变量或者函数;但如果调用A中的函数有控件操作就会程序错...
2019-07-01 18:05:10 297
原创 MFC开发之CListCtrl
1、上移或者下移static intFind = 0;//为当前选中行,设置为哪一行就为上下移动m_ListCtrl.SetItemState(m_ListCtrl.GetSelectionMark(), 0 ,LVIS_SELECTED);m_ListCtrl.SetItemState(Find, LVIS_SELECTED ,LVIS_SELECTED);m_ListCtrl.S...
2019-06-25 16:16:00 279
原创 MFC开发之设置菜单项为不可用(ListControl右键菜单其中某项不可用)
EnableMenuItem(ID,常数标志)函数MF_BYCOMMAND 指定参数给出已存在的菜单项的命令ID号。此为缺省值。MF_BYPOSITION 指定参数给出已存在菜单项的位置。第一项所在的位置是0。MF_DISABLED 使菜单项无效,以便它不能被选择,但不变灰。MF_ENABLED 使菜单项有效,以便它能够被选择,并可从变灰的状态中恢复出来。MF_GRAYED ...
2019-06-20 10:36:32 1598
原创 MFC开发之显示网页
基于对话框1、在资源rc添加控件的界面,右键添加activex控件2、选择:microsoft web broser3、类向导中为activex控件添加关联变量m_Web;4、初始化函数中VARIANT variant;m_Web.Navigate(TEXT("http://www.baidu.com"),&variant,&variant,&am...
2019-06-18 17:39:48 940
原创 MFC开发之URLDownloadToFile下载文件时添加进度条
URLDownloadToFile的第五个参数就是用来设置进度的。下载文件:这个放在主类中用来下载文件时测试用,当文件没有下载完时会卡主主线程,真正使用时创建一个线程放在里面使用添加头文件://清除缓存函数使用#include <wininet.h>#pragma comment(lib, "wininet.lib")CCallback callback;//用来设...
2019-06-18 14:04:39 1355
原创 MFC开发之文件夹操作
1、判断目录是否存在PathIsDirectory(路径文件)2、创建文件夹CreateDirectory(路径文件, NULL);3、删除文件夹DeleteDirectory(路径文件);//删除目录模块bool 工程名::DeleteDirectory(CString DirName){ //AfxMessageBox(TEXT("执行删除文件夹:") + Di...
2019-06-17 14:40:22 304
原创 MFC之解压zip文件
zip和unzip类下载地址:https://download.csdn.net/download/bigtree_mfc/11244981先将zip.h、zip.cpp、unzip.h、unzip.cpp放入工程使用下面的函数就可以了// 返回True表示没有错误,返回False表示有错误发生,//strDstPath,目标文件夹,strZipName解压的文件名(含绝对...
2019-06-17 14:35:38 2167
原创 OSS、COS设置永久URL链接
使用OSS对象存储,在创建存储空间时直接设置读写权限为公共读或者公共读写。其实设置为私有分配的就有效时间的URL,而公共读/公共读写可以分配永久的URL。在这个存储空间内上传的数据就有永久的URL链接:设置为私有后,数据只能有一个有效时间内的URL公共读和公共读写分配的永久URL链接:文件管理->相应数据或者文件最右边的更多->复制文件URL,这个就是永久有效,其余...
2019-06-14 18:06:09 8031
原创 MFC开发之error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instea
解决方法:菜单:项目->(工程名)属性添加_CRT_SECURE_NO_WARNINGS问题就解决了注意:Debug和Release都需要添加
2019-06-12 11:55:38 2110
原创 MFC开发CString和_T("")、L、TEXT("")相加的问题
编译器VS2013CString add = TEXT("123");CString add1;正确方法:add1.Format(TEXT("789%s456"),add);//当add有很多种可能,为L或者别的方式相加会出现错误
2019-06-11 18:03:37 1938 1
原创 MFC开发之从快捷方式获取路径
1、要注意不同的计算机登录用户名不一样,需要获取用户名DWORD dwNameLen = 255; wchar_t szBuffer[255]; memset(szBuffer, 0, sizeof(szBuffer)); GetUserName(szBuffer, &dwNameLen);//获取电脑当前登录的用户名szBuffer2、不能获取所有快捷方式的路径,可能和3...
2019-06-10 16:01:00 339
原创 【WIN32开发】自定义MessageBox按钮名称
有时候中英文确定取消的都不好使,这个时候就要用到自定义按钮名称了先声明添加:extern HHOOK hHook;//自定义按钮名称extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam);HHOOK hHook;LRESULT __stdcall C...
2019-05-21 11:14:50 2540
转载 【软件开发技术文档编写规范】
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所...
2019-05-13 14:51:44 373
转载 【WIN32开发】GDI+基础
画线/边框(Pen)1、画单线-------DrawLinePenpen(Color(255,0,0,0),3);PointFL_PTStart(0,0);PointFL_PTEnd(100,10);graphics.DrawLine(&pen,L_PTStart,L_PTEnd);2、连接线--------DrawLines...
2019-04-24 16:40:43 273
原创 【WIN32】随意记录
POINT pts[5] = { { 200, 0 }, { 0, 160 }, { 120, 400 }, { 285, 400 }, { 400, 160 } }; HRGN rgn = CreatePolygonRgn(pts...
2019-04-24 10:53:27 103
转载 【WIN32开发】获取键盘消息:注册全局热键
获取WM_KEYDOWN消息需要相应的获取焦点问题,只有正确的焦点位置才能操作,这个方法存在一定的体验问题,现在使用热键在任何情况下都可以获取你想要的键盘消息。缺点是别的程序将无法再获取到这个键盘消息,所以一般推荐使用组合键热键,单键热键不推荐BOOL RegisterHotKey(HWND hWnd, //响应该热键的窗口句柄,如果为空,则注册到调用线程上I...
2019-04-22 14:49:28 1791
原创 【WIN32开发】两个结构体判断是否相等
这个主要用于在界面刷新的问题,结构体代表整个软件里面的参数,如果里面某一个参数改变了就刷新界面。使用InvalidateRect(MainFrameHwnd, NULL, FALSE); 发送WM_PAINT消息刷新界面//结构体1、结构体2、长度(sizeof(结构体1))uint8_t cmpBuff(uint8_t* buff1, uint8_t* buff2, uint32_t l...
2019-04-18 11:06:16 405
原创 【WIN32开发错误集】
1、UINT和int区别一个为无符号整,一个有正负。uint在一些需要负数的情况下会出错。(比如:MOVE获取坐标)2、串口数据接收while循环中加一个sleep(1),可以降低消耗...
2019-03-01 16:13:50 258
原创 【WIN32开发,GDI+旋转图片】
int angle = 0;//角度graphics.RotateTransform(angle, MatrixOrderAppend);graphics.TranslateTransform(0, 0, MatrixOrderAppend);//graphics.DrawImage(&image, 0, 0, width, height);//graphics.ResetTra...
2018-10-23 16:03:36 670
原创 【WIN32中使用GDI+入门】
方法和我前面写过的VS2013使用GDI+一样下载GDI+配置文件:https://download.csdn.net/download/bigtree_mfc/107385831、将下载好的文件放在项目文件中2、配置项目->属性->配置属性->连接器->输入->附加依赖库中添加:gdiplus.lib3、添加头文件,放在主函数头文件中,这个位...
2018-10-23 13:56:10 484
原创 MessageBox中MB_OK或者MB_YESNO使用英语或者其它语言显示
有时候需要使用为英文提示,不能有中文字符MessageBox(MainFrameHwnd, TEXT("123"), TEXT("456"), MB_ICONWARNING | MB_YESNO);MessageBoxEx和MessageBox使用相同MessageBoxEx(MainFrameHwnd, TEXT("123"), TEXT("456"), MB_ICONW...
2018-07-09 14:30:57 5470
转载 Win32 常用API函数
1.获取客户区矩形区域RECT cliRect;GetClientRect(hWnd, &cliRect);2.获取窗口上下文句柄HDC hdc = GetDC(hWnd);//....ReleaseDC(hWnd, hdc); 3.LPWSTR 与 char * 互转int32_t WToChar(LPWSTR szWstr, char szCstr[], const int32...
2018-07-03 16:37:54 1907
原创 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
原创 文字对齐属性
TA_BOTTOM :下对齐TA_TOP:上对齐TA_LEFT:左对齐TA_RIGHT:右对齐TA_CENTER(VTA_CENTER):居中对齐TA_RTLREADING:从右到左顺序显示
2018-06-27 17:11:09 364
原创 run -time check failure#2-stack around the variable 'numm' was corrupted错误
直接翻译:在变量“NUMM”周围运行时检查失败的“2”堆栈被破坏了。大意就是numm内存被改了。解决办法,改变numm的类型,或者改变计算方式
2018-05-30 16:04:54 1069
原创 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
原创 32位数据转8位数据和8位数据转32位数据
1。32位数据转换为8位数据UINT32 m_num32[512];//32里面有参数UINT8 m_num8[2048];UINT8 m_temp;memset(m_num8, 0, 2048);for(int i = 0; i < 512; i++){m_temp = m_num32[i] >> 24;m_num8[i] = m_temp;m_temp = m_num32[i...
2018-05-16 10:03:17 8157 1
原创 WIN32开发之小知识点
1、toupper()函数toupper是一个库函数toupper的头文件:#include <ctype.h>函数的原型:int toupper(int c);函数说明:若参数 c 为小写字母则将该对应的大写字母返回。返回值:返回转换后的大写字母,若不须转换则将参数c 值返回。toupper的头文件:#include <ctype.h>函数的原型:int...
2018-05-08 17:59:00 466 2
转载 WIN32开发之程序基础结构
一、概述Windows程序具有相对固定的结构,对编写者而言,不需要书写整个过程,大部分过程由系统完成。程序中只要按一定的格式填写系统留给客户的那一小部分。所需要完成的有:窗口类的定义、窗口的建立、消息函数的书写、消息循环。 二、消息处理函数Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。没个窗口都有一个消息处理函数。在消息处理函数中,对传入的消息进行处理。系统内还有...
2018-05-08 11:28:18 292
转载 WIN32开发之LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。没个窗口都有一个消息处理函数。在消息处理函数中,对传入的消息进行处理。系统内还有它自己的缺省消息处理函数。 客户写一个消息处理函数,在窗口建立前,将消息处理函数与窗口关联。这样,每当有消息产生时,就会去调用这个消息处理函数。通常情况下,客户都不会处理全部的消息,而是只处理自己感兴趣的消息,其他的,则送回到系统的缺...
2018-05-08 11:22:32 1750
原创 QT开发之Excel操作使用
一、QT5Xlsx文件,设置头文件下载地址:http://download.csdn.net/download/bigtree_mfc/10009048里面有操作说明二、头文件#include "QtXlsx/xlsxdocument.h"#include "xlsxformat.h"#include "xlsxconditionalformatting.h"三、操
2018-01-15 09:21:14 629 4
原创 QT开发之config文件读写
1、读取QSettings config(QDir::currentPath()+QString("/ZTE002.config"),QSettings::IniFormat);//QDir::currentPath()为exe位置config.beginGroup("自定义分类");//保存数据double ti=config.value("数据名",QStringLiteral("
2017-12-25 09:14:41 3101
原创 QT开发之QTimer定时器
1、多次使用QTimer *timer = new QTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(function));//注意第一个为timertimer->start(1000);2、单次使用QTimer::singleShot(200,this,SLOT(updateCaption()));//200/1
2017-12-25 08:37:20 2406
原创 QT开发之TabWidget控件
1、隐藏标签ui->tabWidget->findChildren<QTabBar*>().at(0)->hide(); //0为第一个标签2、清楚所有数据ui->listWidget->clear();3、切换行ui->listWidget->setCurrentRow(row);4、...
2017-12-20 09:22:02 1881
原创 QT开发之最简QTcpSocket封装类
QTcpSocket类是客户端类,作用为发送数据。首先是关于IP地址和端口号,这个可以选择手动输入或者自动查找。.H中:#include extern QTcpSocket *socket;//设置为全局变量public:A();//此函数用来连接B();//此函数发送数据.CPP中:QTcpSocket *socket;A()//连接{s
2017-10-12 08:44:10 2403
转载 关于float中0.3一类数据的运算解决办法
原因是此类数据无法用二进制完整表示,完全是无限循环数据。运算结果解决办法:方法一:使用github上的库:BigDecimal.js或bignumber.js方法二:在这篇文章里面找到一个简单的函数。}可以将每次的运算结果赋值给它,从而得到比较精确的结果。·方法三:使用简单点四舍五入方法,其实跟上面的方法差不多,只不过取了一个10位小数。functi
2017-09-28 20:15:50 750
FFmpeg-4.0.2版本-win库
2020-12-17
检测exe依赖库是否正确.rar
2020-07-17
WIndows系统中软件打包工具
2018-06-27
Google Gson包
2017-03-23
SharedPreferences数据存储和读取实例
2016-06-21
android开发:wifi通信
2016-05-23
【DHCP服务器编写的问题】
2017-03-18
语音计算机,语音播报结果的问题???
2017-02-08
【电脑上怎么强制关掉卡死的程序?】
2015-11-26
【MFC,VS2013中使用Serialport类的问题???急】
2015-07-28
【MFC分割窗口后的单文档怎么变为多文档??】
2014-11-24
【MFC静态分割窗口后,窗口通信有哪些方法???】
2014-11-24
【MFC使用GDI+绘图,刷新显示很卡,完全是跳变显示??】
2014-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人