
MFC
Hat_man_
这个作者很懒,什么都没留下…
展开
-
BYTE[ ]转CString
【代码】BYTE[ ]转CString。原创 2025-02-08 13:18:29 · 106 阅读 · 0 评论 -
MFC运行程序不可打开多个
mfc的运行程序只能开一个原创 2023-02-01 08:48:15 · 432 阅读 · 0 评论 -
MFC获取网络时间
MFC获取网络时间。原创 2023-01-10 16:55:47 · 561 阅读 · 0 评论 -
VS编译时,报错“纯虚函数没有强制替代项“
纯虚函数没有强制替代项”原创 2023-01-03 16:34:37 · 2941 阅读 · 0 评论 -
MFC对话框程序调试时,如何将控制台界面显示
MFC,对话框,控制台,调试原创 2022-10-18 13:48:34 · 820 阅读 · 0 评论 -
C++判断字符串是否为UTF8格式(代码)
C++字符串为UTF8格式原创 2022-09-14 08:48:05 · 740 阅读 · 0 评论 -
C++如何禁止系统自动休眠
C++用windows的API禁止系统休眠原创 2022-08-15 17:12:44 · 973 阅读 · 0 评论 -
VS2019某个函数按F12无法定位的解决方法
F12无效原创 2022-06-02 17:52:26 · 2366 阅读 · 0 评论 -
VS2019快捷键(持续更新中)
1.大写转小写 Ctrl + U2.小写转大写 Ctrl + Shitf + U3.格式化代码 Ctrl + K ,Ctrl + D原创 2022-04-14 15:35:23 · 861 阅读 · 0 评论 -
VS2019如何查看当前运行项目的所有线程运行情况
调试->窗口->并行堆栈原创 2022-03-16 17:25:19 · 6102 阅读 · 0 评论 -
VS2019无法在“配置管理器”添加新的“配置”解决方法
如果在“配置管理器”中无法添加新的“配置”,如下图下拉之后,“新建”按钮无效果,则只能工程所在的目录找到后缀为 .vcxproj 的文件,我的文件是ZDemo.vcxproj。用记事本打开,如下1>是Debug的<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <ConfigurationType>Applicat..原创 2021-12-29 18:13:42 · 1473 阅读 · 0 评论 -
VS在调试时,查看是DEBUG/RELEASE
项目属性页-> C/C++ -> 预处理器 -> 预处理器定义可以明显看到区分:Debug:_DEBUG;_LIB;SDK_EXPORTS;Release:NDEBUG;_LIB;SDK_EXPORTS注意看:_DEBUG 和 NDEBUG如果我们要自己写一个区别于上面两个调试模式,则可以自己在预处理器定义中定义自己的宏定义,如:_MY_DEBUG...原创 2021-12-23 00:02:09 · 1266 阅读 · 0 评论 -
OnTimer“static_cast”: 无法从“void (__cdecl CImageView::* )(UINT)”转换为“void (__cdecl CWnd::* )(UINT_PTR)”
此处的问题可以根据实际报错进行判断。报错给出的提示是:函数需要的是UINT_PTR,但是实际给到函数的是UINT。我遇到的问题是 OnTimer的变量异常,则只需要将函数声明和函数体形参改变即可。如下: afx_msg void OnTimer(UINT nIDEvent);=>afx_msg void OnTimer(UINT_PTR nIDEvent); void OnTimer(UINT nIDEvent)=>void OnTimer(UINT_PTR nID...原创 2021-10-27 09:39:01 · 608 阅读 · 0 评论 -
MFC点击窗口退出,却是响应其他按钮的事件
主要原因是按钮的ID和“取消”按钮的ID重了,虽然可能将“取消”按钮都删除了,最简单的方法就是将相应事件的按钮ID更改就可以解决问题。原创 2021-10-16 22:29:19 · 274 阅读 · 0 评论 -
MFC的ControlList删除所有的行和列
int itemcount = GetHeaderCtrl()->GetItemCount(); for (int nIndex = 0; nIndex < itemcount; ++nIndex)//如果是nIndex++会每次增加一列 { DeleteColumn(0); } DeleteAllItems();原创 2021-08-27 16:34:29 · 845 阅读 · 0 评论 -
MFC中正反斜杠使用
主要针对路径做展开1.反斜杠 \.在windows的系统中用来标识目录。2.正斜杠 ./ 网址“ ./ " (一点加正斜杠)代表目前所在目录“ ../" (两点加正斜杠) 代表上一层目录" /" (正斜杠)代表根目录...原创 2021-08-23 09:57:11 · 464 阅读 · 0 评论 -
MFC如何查看文件夹下面文件数量
使用CFileFindCFileFind filefind;CString strPath="C:\\";//表示要查找的文件夹地址CString strDoc="*.*";//表示要查找的文件后缀类型CString strFind=strPath+strDoc;int nFind=0;BOOL bworking=filefind.FindFile(strFind);while(bworking){ bworking=filefind,FindNextFile(s...原创 2020-12-30 08:28:59 · 966 阅读 · 0 评论 -
MFC读写图片(不占用)---------转
#include "stdafx.h"#include <windows.h>#include <gdiplus.h>#include <stdio.h>usingnamespaceGdiplus;#pragma comment(lib, "gdiplus.lib")intGetEncoderClsid(constWCHAR* format, CLSID* pClsid){UINT num= 0;UINT s...原创 2020-12-05 18:43:54 · 260 阅读 · 0 评论 -
CListCtrl控件选中高亮显示和取消选中
1.选中并高亮显示m_ListM.SetFocus();m_ListM.SetItemState(i,LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);m_ListM.EnsureVisible(i, FALSE);m_ListM.SetItemState(i,0, LVIS_SELECTED | LVIS_FOCUS...原创 2019-10-17 11:57:45 · 1445 阅读 · 2 评论 -
自定义菜单使用(CMenu)
1.在头文件定义(.h)#define IDM_MY_MENU_1 101 //菜单ID2.在头文件申明CMenu变量CMenu pmenu;3.在头文件定义函数// Generated message map functions //{{AFX_MSG(CxxxDlg)afx_msg void MyMenu();//定义函数 //}}AFX_MSG DECLARE_MESSAGE_MAP()4.在源文件初始化菜单(.cp...原创 2020-12-03 20:49:36 · 475 阅读 · 0 评论 -
MFC对话框模式下,EDIT设置光标位置
CString strTemp;GetDlgItemText(IDC_EDT1,strTemp);int dwLen=strTemp.GetLength();((CEdit*)GetDlgItem(IDC_EDT1))->SetSel(dwLen,dwLen,TRUE);原创 2020-12-01 16:24:52 · 1589 阅读 · 0 评论 -
MFC控件随对话框放大自动适应(ListCtrl和Combox)
1.头文件申明变量和函数BOOL change_flag;CRect m_rect;void ChangeSize(UINT nID, int x, int y);2.源文件代码void CFormModelDlg::ChangeSize(UINT nID, int x, int y) //nID为控件ID,x,y分别为对话框的当前长和宽{ CWnd *pWnd; pWnd=GetDlgItem(nID); if(pWnd!=NULL) //判断是...原创 2020-11-19 19:45:14 · 1235 阅读 · 0 评论 -
MFC输入框输入完毕,点击回车,结束输入框焦点
BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg){ // TODO: Add your specialized code here and/or call the base class if (pMsg->message==WM_KEYDOWN) { if(pMsg->wParam==VK_RETURN) { //获取回车后,焦点所在输入框的ID C...原创 2020-11-17 13:38:48 · 600 阅读 · 0 评论 -
MFC更改ListCtrl标题高度
1.在对话框界面添加ListCtrl控件,并申明控件为 m_ListSpe;2.ListCtrl控件初始化动作如下LOGFONT logfont;//最好弄成类成员,全局变量,静态成员 CFont *pfont1 = m_ListSpe.GetFont(); pfont1->GetLogFont( &logfont ); logfont.lfHeight =logfont.lfHeight * 2; //...原创 2020-11-16 09:55:56 · 787 阅读 · 0 评论 -
MFC对话框程序添加弹窗进度条提示
1.建立主对话框和弹窗对话框2.在主对话框添加按钮,进行主线程工作和弹窗显示。3.主线程头文件申明线程,主线程工作函数和与弹窗交付的变量 static UINT ThreadProcess(LPVOID p);//主工作线程 int nNum;//主线程和弹窗交付变量 void AddNum();//主线程工作函数4.函数void CTestProcessBarDlg::OnBtnStart(){ // TODO: Add your control no...原创 2020-11-11 18:57:09 · 2201 阅读 · 7 评论 -
SQLite数据库使用like模糊查询中文问题
1.首先查看sqlite编码PRAGMA encoding;2.编写UTF-8与BG2312转换函数//UTF-8到GB2312的转换char* U2G(const char* utf8){int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+1);MultiByteToWideChar(CP_UTF...原创 2020-09-07 16:51:25 · 1827 阅读 · 0 评论 -
VC6使用libxl改变单元格填充颜色
IFormatT<TCHAR>* pformat=book->addFormat();pformat->setFillPattern(FILLPATTERN_SOLID);pformat->setPatternForegroundColor(COLOR_RED);pSheet->writeStr(0,0,"0",pformat);原创 2020-08-04 14:33:27 · 1470 阅读 · 0 评论 -
SQL Server 2008 使用步骤(VC6联合使用)
1.下载SQL Server 2008 R2安装包,并顺利安装(下载和安装过程就不展开说明)。2.SQL Server配置。 1)点击“开始”->所有程序->Microsoft SQL Server 2008 R2->配置工具->SQL Server 配置管理器 2)点击SQL Server服务。右键选择 SQL Server,点击“启动” 3)点击SQL Server网络配置,选择 SQLEXPRESS的协议,双击TCP/IP->...原创 2020-07-23 21:13:34 · 718 阅读 · 0 评论 -
VC6添加CMSComm(串口)控件(最实用的方法)
1.进入到ResourceView栏,在DIALOG编辑界面。2.点击鼠标右键,选择 Insert ActiveX Control...3.选择Microsoft Communications Control,ver...原创 2020-06-23 16:14:28 · 766 阅读 · 0 评论 -
MFC如何更改静态文本static Text文字的颜色
int nTColor;void SetTextColor(int nColor){ if(0==nTColor) { SetDlgItemText(IDC_STC1,"黑色"); nTColor=0; } else if(1==nTColor) { SetDlgItemText(IDC_STC1,"绿色"); nTColor=1; }else if(2==nTColor) { SetDlgI...原创 2020-05-28 09:02:50 · 834 阅读 · 0 评论 -
CTime之间求差值
CTimeSpan( LONG lDays, int nHours, int nMins, int nSecs);//////求差值====================================Ctime T1=CTime::GetCurrentTime();CTime T2(2018,8,10,0,0,0);CTimeSpan timespan=T1-T2;int nSeconds=time.GetTotalSeconds();//获取时间差的总秒...原创 2020-05-25 21:24:47 · 1384 阅读 · 0 评论 -
CString和CTime互相转换
//CString转CTime==============CString strT1="2020-02-02 02:02:02";int ny,nm.nd;sscanf(strT1.GetBuffer(strT1.GetLength()),"%d-%d-%d",&ny,&nm,&nd);CTime T1(a,b,c,0,0,0);//CTime转CStringCTime T1=CTime::GetCurrentTime();CString strT1;原创 2020-05-25 21:09:31 · 1216 阅读 · 0 评论 -
vector和结构体结合使用方法
1.首先说明vector和普通变量的使用方法,如下首先需要在头文件或者cpp文件包含vector头文件,#include <vector>vector<int> v1;往v1添加数据for(int i=0;i<10;i++){ v1.push_back(i);}2.vector和结构体使用方法,如下typedef struct s_Student{ int age; CSting name;}Student;...原创 2020-05-25 16:03:57 · 13774 阅读 · 0 评论 -
VC6编译是显示Cannot open include file: mysql.h: No such file or directory
情况1:已经安装完毕Mysql在vc 工具-选项-目录加上include files路径 ,如C:\MYSQL7\INCLUDE加上library files 路径 C:\MYSQL7\LIB\DEBUG在工程-设置-连接 加上对象模块 libmysql.lib情况2:没有安装Mysql重新安装mysql。在vc 工具-选项-目录加上include files路径 ,如C:\MYSQL7\INCLUDE加上library files 路径 C:\MYSQL7\LIB\DEBUG原创 2020-05-18 10:47:45 · 1245 阅读 · 0 评论 -
CFileDialog使用
/* CFileDialog::CFileDialog ( BOOL bOpenFileDialog,//为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL,//指定默认的文件扩展名。 LPCTSTR lpszFileName = NULL,//指定默认的文件名。...原创 2020-04-23 21:43:31 · 427 阅读 · 0 评论 -
调用函数改变主函数内的值(形参改变实参)
如果需要用调用的函数改变主函数内的变量的值,有两种方法,第一种是函数返回值,第二种是在调用函数形参中使用指针。例子 1,求两个数中最小值,变量类型为整型。1)int Min(int x,int y);int Min(int x,int y){ int temp=0; if(x<y) temp=x; else temp=y...原创 2020-03-23 10:52:55 · 3216 阅读 · 0 评论 -
用MFC画直方图和饼状图
1.对消息的响应主要是通过消息映射MESSAGE_MAP里面的宏找到对应的处理消息的函数对消息进行处理。2.利用OnPaint函数对WM_PAINT消息进行处理,在OnPaint函数中设定相应直方图和饼图的各项参数,执行程序的时候直接在显示的窗口上绘制直方图和饼状图。函数功能说明:1. OnPaint():主要是对WM_PAINT消息的相应,在OnPaint函数中可以设定直方图和饼状图...原创 2020-03-11 17:13:25 · 1310 阅读 · 3 评论 -
生成dll文件的同时,将dll文件copy到指定地址
1.编写一个 zdo.bat文件,主要作用是复制dll文件。如:copy Debug\\my.dll ..\\MyText\\将Debug文件夹下的my.dll文件复制到上一层文件夹下的MyText文件夹下2.在自己在编辑的dll工程中,选择Project->settings,进入到设置中,通过左右移动按钮,找到"Post-build step".选择zdo.bat就可以...原创 2020-03-04 09:25:23 · 756 阅读 · 0 评论 -
memcpy()使用方法
C 库函数void *memcpy(void *str1, const void *str2, size_t n)从存储区str2复制n个字符到存储区str1。const char str1[50]="1234567890";char str2[50];memset(str2,0,50);memcpy(str2,str1,3);printf("str2=...原创 2020-02-25 19:48:09 · 1209 阅读 · 2 评论 -
CFileFind读取:文件夹/ 文件夹名称,以及读取:文件夹/下文件夹1/ 下的文件名称
1.读取文件夹下的文件夹的名称void FindDocsName(CString strDoc){ CFileFind filefind; boolean bf=filefind.FindFile(strDoc); while(bf) { bf=filefind.FindNextFile(); if(!filefind.IsDoc...原创 2020-01-20 11:13:10 · 622 阅读 · 0 评论