- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 _splitpath_s()参数类型不符合
在unicode环境下CString是宽字符,通常是基于wchar_t * 或者 std::wstring来表示。_splitpath_s函数接收的是窄字符,所以才会报错,只需要将lpszPathName 改成窄字符即可。这是因为在多字节环境下CString是窄字符,通常是基于char*和charde。_splitpath_s()会报错,lpszPathName 类型不符合。3.转换方法(在unicode下)2.在unicode环境下。
2024-06-14 14:48:43 170
转载 VC MFC在CMFCToolBar工具栏中加入组合框
有了以上说明后,就在工具栏中,添加了新的组合框,但是现在还是灰色的,无法操作,那是因为还没有增加对应的处理机制.3.BEGIN_MESSAGE_MAP(CMainFrame, CFrameWndEx)中添加消息响应。1.在工具栏资源编辑器中加入id为IDR_COM的空白工具栏按钮,2.在主框架(mainframe.h)文件中,添加一个。)//别忘了在TOOLBAR中添加IDR_COM资源。1.在工具栏资源中,增加一个对应ID资源号的按钮.. 的函数来添加一个新的组合框到工具栏中.的消息,在这个消息里使用。
2024-04-30 17:31:16 81
原创 串口通信中ReadFile读取数据不完整
解决方法:虽然通过监视发现数据被截断,但是实际上该数据是完整的被放入到接收缓存区的(pBuffer)。使用memcpy()内存拷贝函数。发送的数据为01 10 75 61 10 03 06 00 66 00 31 00 50 56 0D。memcpy(ch,pBuffer,dwReadResult).ch内就会显示处完整的数据。现象:当发送的数据为16进制时,使用readfile读取数据发现数据缺少不完整。readfile会在00处截断,编译器将其视为\0即字符串的结束。通讯也是接触不久,在此记录一下。
2024-04-11 09:23:03 731 1
原创 关于MFC中定时器非正常未执行和OnPaint函数一直刷新的问题
如果想要刷新OnPaint,可以在定时器中执行Invalidate();函数,他发送ON_WM_PAINT()对应消息,去执行OnPaint函数。经过查阅资料,我在重绘时把CPaintDC dc(this);导致OnPaint一直在执行。在OnPaint中添加CPaintDC dc(this);,至此OnPaint和定时器都能正常运行。1.在OnPaint函数中执行控件的绘画,发现OnPaint函数一直在执行。由于OnPaint的优先级高于定时器,使得定时器没有办法正常工作。
2024-03-15 09:15:41 633 1
原创 unsigned char*转为CString类型
通过CSTRING的构造函数将unsigned char*转为CString类型。// 分配一个新缓冲区来存储数据。
2024-03-12 10:29:43 281 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人