![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
ToneChip
星光不问赶路人,岁月不负有心人
主攻AFC,ANC,AEC,AGC点声学算法落地.目标做国内极致简约的音频处理产品
展开
-
MFC BCG使用:修改CComboBox(CBCGPComboBox) 背景色和文本颜色
MFC BCG使用:修改CComboBox(CBCGPComboBox) 背景色和文本颜色原创 2023-03-07 13:37:24 · 215 阅读 · 0 评论 -
MFC BCG使用:修改Edit (CBCGPEdit) 背景色和文本颜色
MFC BCG使用:修改Edit背景色和文本颜色原创 2023-03-07 09:57:13 · 826 阅读 · 1 评论 -
[MFC基础]:如何显示获取系统时间
MFC如何显示获取系统时间原创 2023-01-29 11:19:45 · 1154 阅读 · 0 评论 -
MFC基础教程: 绘制对话框的背景色
MFC绘制对话框的背景色原创 2022-12-02 16:11:12 · 526 阅读 · 0 评论 -
VS代码调试时出现“此二进制文件不支持‘编辑并继续‘.它与当前不兼容‘编辑并继续的/DEBUG:FASTLINK相关‘“
VS代码调试时出现“此二进制文件不支持‘编辑并继续‘.它与当前不兼容‘编辑并继续的/DEBUG:FASTLINK相关‘“原创 2022-11-22 14:43:25 · 1735 阅读 · 0 评论 -
[MFC获取系统相关信息函数]
【代码】[MFC获取系统相关信息函数]原创 2022-11-04 15:11:10 · 440 阅读 · 0 评论 -
[MFC]: 找不到标识符“xxxx“,或者vs报错“错误 LNK2019 无法解析的外部符号”
[MFC]: 找不到标识符"xxxx",或者vs报错“错误 LNK2019 无法解析的外部符号”原创 2022-11-01 19:11:34 · 714 阅读 · 0 评论 -
[MFC]:Edit Control 编辑框控件之EN_KILLFOCUS消息只响应第一个失去焦点的问题分析
EN_KILLFOCUS 失去焦点时只响应了第一个edit原创 2022-10-31 18:25:46 · 899 阅读 · 0 评论 -
VS2015编写的MFC程序发布部署
VS2015编写的MFC程序发布成一个独立绿色的exe文件原创 2022-10-09 11:51:51 · 605 阅读 · 0 评论 -
MFC获取本机IP(网络通讯时用得多)
CString CUDPDlg::GetIP() //获取本地IP{ WORD wVersionRequested; WSADATA wsaData; char name[255]; // 本地主机名字符数组变量 CString m_ip; // IP地址字符串变量 PHOSTENT hostinfo; // hostent结构指针 wVersionRequested = MAKEWORD(2, 0); //连接应用程序与winsock Dll if (WSAS.原创 2022-02-15 13:58:07 · 3008 阅读 · 1 评论 -
CSerialPort串口类的完整有效修改版解决串口只能发送一次的问题(完整源码版本)
因为在这里遇到过一次坑,这里把CSerialPort的MFC串口类代码完整贴出来,方便日后查阅#include "stdafx.h"#include "SerialPort.h"#include <assert.h>#include "GlobalFunc.h" //// Constructor//CSerialPort::CSerialPort(){ m_hComm = NULL; // initialize overlapped structure member原创 2021-11-24 22:43:23 · 761 阅读 · 2 评论 -
VS调试时断点位置和代码对应不上解决方案:文件需保存为window结尾
原创 2020-12-24 13:51:45 · 926 阅读 · 0 评论 -
MFC自绘画图-使用双缓存技术来画一个坐标系,并串口接收数据来实时显示
先上效果图源码解析void CMFCSerialPortDlg::OnPaint(){ if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICO.原创 2020-11-20 14:41:28 · 685 阅读 · 0 评论 -
MFC动态创建Radio按钮(配效果显示图)
因为单选框用得比较少,和平常的按钮框的style有点不一样,所以单独写一篇博文记录一下效果图:(红色框框)创建时主要注意以下几点 //创建一组单选按钮时,第一个按钮的风格应设置为WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_GROUP | BS_AUTORADIOBUTTON, //其他单选按钮的风格应为WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,不包含WS_TABSTOP和WS_GROUP。//...原创 2020-11-13 10:27:06 · 1207 阅读 · 0 评论 -
MFC写CSV文件作为小批量保存数据
CStdioFile file; file.Open(pDlg->sExcelFile, CFile::modeCreate | CFile::modeWrite); //| CFile::modeNoTruncate存在就追加 //file.SeekToEnd(); CString str; str = L"ID,Base Freq,Base Amp,Base Phase,Even Freq,Even Amp,Even Phase,PhaseDiff,DC\n"; file.W..原创 2020-08-19 18:10:02 · 408 阅读 · 0 评论 -
如何让visual studio不产生iobj和ipdb
*.iobj和*.ipdb是vs2015新增加一项特性的附加文件,这项特性称为Incremental Link-Time Code Generation (LTCG)。如果LTCG特性打开了,编译时将产生这些文件。不产生这些文件的设置为原创 2020-06-08 17:34:51 · 2490 阅读 · 0 评论 -
BCG使用1:如何在MFC对话框中开始使用BCG模块来美化程序
因为经常使用MFC来做一些的上位机开发程序,在空余的工作时间会对做好的程序进行二次美化开发,使得程序更加好看BCG的帮助网址是 http://help.bcgsoft.com/BCGSuite/index.html 我用的是BCGControlBarPro版本,配置的VS版本是VS2015在VS2015中新建一个对话框的窗口(如何新建一个对话框工程 我这里不讲了,...原创 2020-04-20 10:15:28 · 2412 阅读 · 1 评论 -
在 CSerialPort::WriteToPort编译中error LNK2019: 无法解析的外部符号 "char * __cdecl UnicodeToAnsi(wchar_t const *)
1>SerialPort.obj : error LNK2019: 无法解析的外部符号 "char * __cdecl UnicodeToAnsi(wchar_t const *)" (?UnicodeToAnsi@@YAPADPB_W@Z),该符号在函数 "public: void __thiscall CSerialPort::WriteToPort(wchar_t const *)...原创 2020-04-16 15:35:45 · 552 阅读 · 0 评论 -
MFC中 CListCtrl在SetColumn在Debug和Released版本出现不同的显示问题解决
出现一个怪现象,在debug下,进行中英文切换的时候,设置列的内容,debug模式下都是正常切换代码是这样写的void DeviceSelectionDlg::OnPageLanguageSel(void){ LVCOLUMN pColumn; if (pDeviceListCtrl == NULL) { return; } pDeviceListCtrl->Get...原创 2020-04-06 22:42:04 · 931 阅读 · 0 评论 -
UpdateAllViews
void UpdateAllViews( CView* pSender, LPARAM lHint = 0L, CObject* pHint = NULL);1、参数: pSender 指向修改文档的视图,如果所有视图被更新,则设为NULL. lHint原创 2016-09-22 12:04:49 · 847 阅读 · 0 评论 -
MFC BCG使用:修改Menu菜单字体
.h文件添加CBCGPMenuBar m_wndMenuBar; //用于设置标题栏字体大小.cpp文件添加LOGFONT lf; //lf定义字体属性 lf.lfOutPrecision= OUT_STROKE_PRECIS; lf.lfClipPrecision= CLIP_STROKE_PRECIS; lf.lfQuality = DRAFT_QUALITY; lf.lfPitchAn...原创 2018-04-09 11:10:08 · 2482 阅读 · 0 评论 -
Invalidate(TRUE)内部机制及刷新窗口部分区域的办法
Invalidate(TRUE)都干了些什么。其实,它只是间接向消息队列添加了WM_ERASEBKGND和WM_PAINT两个消息。但是,如果使用Invalidate(FALSE)的话,则只有WM_PAINT消息产生,这时是不会有任何闪烁的。刷新窗口部分区域的办法:RECT rc;GetClientRect(&rc);int xStartPos = rc.left + 20;int ...原创 2018-04-12 10:26:02 · 544 阅读 · 0 评论 -
MFC使控件失去焦点的有效办法
环境VS2015亲测,只有在按了一个控件后执行使其他控件获得焦点 //有效方案 GetDlgItem(IDC_CONTAINER_INPUT)->SetFocus();//下面三种无效 //GetDlgItem(uID)->PostMessage(WM_KILLFOCUS, 0, 0);//::SendMessage(GetDlgItem(uID)->m_hWnd, ...原创 2018-04-23 14:23:23 · 8180 阅读 · 0 评论 -
MFC ---CMFCButton 常用定制功能使用
CMFCButton * button = new CMFCButton; button->Create(_T("Test Button"), WS_VISIBLE, CRect(5, 5, 80, 50), this, IDC_BUTTON_TEST); // 更改文字 button->SetWindowTextW(_T("强制更改")); // 更改背景颜色 bu...转载 2018-04-23 14:51:27 · 3409 阅读 · 0 评论 -
定义一下自己MFC变量命名规范
int arrnNum; //数组前缀:arr 1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。2、 第一个字母必须是字母或者下划线开头。3、 不能使用C++关键字来命名变量,以免冲突。4、 变量名区分大小写。变量命名规则:一、 用最短字符表示最准确的意义。二、 ...原创 2018-05-24 13:34:56 · 1137 阅读 · 0 评论 -
MFC中CDC过度重绘
MFC中CDC过度重绘原创 2019-02-22 15:16:00 · 408 阅读 · 0 评论 -
MFC绘图:双缓存技术陷阱
//手绘推子void GainBaseModule::PainSliderCtrlGain(CDC *pDC){ int iControlerHigh = 25; RECT rcWindow; GetClientRect(&rcWindow); //计算得到推子和电平模块的长度 int nWidth = ((rcWindow.right - rcWindow.lef...原创 2019-04-12 10:14:23 · 451 阅读 · 4 评论 -
MFC双缓存技术完整代码参考
void CTopoAndLogoDlg::PaintTopoTable(CDC *pDC){ CDC MemDC; // 定义一个内存显示设备对象 CBitmap MemBitmap; // 定义一个位图对象 CRect wndRect; GetClientRect(&wndRect); MemDC.Creat...原创 2019-07-07 19:56:45 · 605 阅读 · 1 评论 -
MFC改变控件的顺序
在RC文件界面下用快捷键CTRL+D会显示这些控件的TAB顺序原创 2018-04-09 10:38:24 · 1868 阅读 · 0 评论 -
MFC更换exe和窗口左上角图标最方便的方式
直接将res文件ico文件先删除,然后改成同名的ico文件.注意两件事1.改成同名的ico文件还是会显示为mfc图标,因为window有icon缓存,所以没有更新过来,注销一下window即可2.重新编译后发现exe还是mfc,同样的道理,因为window有缓存,这里把exe名字改一下就可以显示出你的ico原创 2017-12-06 14:38:19 · 2400 阅读 · 0 评论 -
MFC获取当前路径
/************************************************************************/ /* 函数说明:获取应用程序当前目录 /* 参 数:无 /* 返 回 值:返回原创 2017-05-23 11:35:53 · 305 阅读 · 0 评论 -
source insight 设置相对目录
修改默认路径为原创 2016-11-27 19:48:46 · 2588 阅读 · 0 评论 -
MFC多文档修改主窗口和子窗口名字
主窗口修改在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){if( !CMDIFrameWndEx::PreCreateWindow(cs) )return FALSE;// TODO: 在此处通过修改// CREATESTRUCT cs 来修改窗口类或样式m_strTitle = _T("点云");//m_str原创 2016-10-20 16:27:29 · 3261 阅读 · 0 评论 -
Unicode下CString和char *之间的互相转换
/**在Unicode字符集下char转cstring*/void Unicode_char2Cstring(char *pChar, CString &str){ int charLen = strlen(pChar); //计算pChar所指向的字符串大小,以字节为单位,一个汉字占两个字节 int len = MultiByteToWideChar(CP_ACP, 0, p...原创 2016-10-07 13:49:20 · 878 阅读 · 0 评论 -
IP地址CString和DWORD转换
#pragma comment(lib,"ws2_32.lib") #include //将CString 型IP地址在IPAddressCtrl中显示 CString strIP="192.168.0.10"; DWORD dwIP; dwIP = inet_addr(strIP); unsigned char *pIP = (uns转载 2016-10-11 20:25:31 · 1365 阅读 · 0 评论 -
AfxGetMainWnd ,GetDocument ,AfxGetApp ,GetActiveDocument区别
AfxGetMainWnd / GetMainWndCWnd* AfxGetMainWnd( ); 使用AfxGetMainWnd函数获取MFC程序中的主框架类指针是一个常用作法。就是获得应用程序主窗口的指针,AfxGetMainWnd()-> m_hWnd是主窗口的句柄。GetDocument 视图对象是用来显示文档对象的内容,函数GetDocument()用于原创 2016-09-22 16:21:25 · 1218 阅读 · 0 评论 -
DOC,VIEW,FRAME互相调用
document/view模式,是为了在逻辑上,让数据和显示分开。一般在document里,定义document类的成员变量,来存数据,并用View来显示。在document里,当成员变量的数据改变时,你可以用UpdateAllViews()来通知视图更新。在View里,用GetDocument来获取与之对应document的指针,进而可以访问document的成员变量,从而进行显原创 2016-09-22 11:51:51 · 1399 阅读 · 0 评论 -
“atof”: 不能将参数 1 从“CString”转换为“const char *”
问题描述:m_Data[number]=atof(strtemp);其中,m_Data为double型,number为long型,strtemp为CString型的。为什么会出现这样的错误?error C2664: “atof”: 不能将参数 1 从“CString”转换为“const char *” 解决:用_ttof代替atof 或 _wtof(str);原创 2016-09-20 17:24:33 · 3121 阅读 · 0 评论 -
error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWSTR”
将char换成wchar_t原创 2016-09-20 14:50:23 · 6564 阅读 · 0 评论 -
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的 cx,cy 发现其中,竟有0,0值。而后,一位博友提出: 在OnSize()中,调用重绘函数, 再在OnPaint()中,进行窗口大小的调整 或 重定位。而未说明理由。我经过尝试,再在OnPaint()中取出cx,cy值时,发现没有0,0的情况,因此假想认为: OnSize()在窗口从创建原创 2016-09-19 10:53:36 · 11356 阅读 · 0 评论