随笔分类 - MFC
摘要:写在前面: 晚上应该继续完成未写完的代码,但Chrome上打开的标签实在太多了,约30个了,必须关掉一些,所以需要把自己看的整理一下然后关掉。本次主要写点MFC环境下多线程串口通信相关的东西,这包括线程创建及控制、串口同步异步操作、内存非法访问(或者说是线程同步)、线程通信、Windows消息响应过程等。遇到问题: 项目中IO传感器通信模块之前直接写在了主线程中,UI代码和串口通信代码搅合在一起,不利于后期维护,而且有个非常严重的问题,IO通信太忙导致整个系统比较卡,特别是当系统接上超过3个摄像机之后,MFC模态对话框使用Domodal()直接无法打开,卡住了,然后用户就无法操作了,这个问题必
阅读全文
摘要:TranslateMessage函数函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型: BOOL TranslateMessage( CONST MSG *lpMsg );.参数: lpMsg 指向一个含有用GetMessage或PeekMessage函数从调用线程的消息队列中取得消息信息的MSG结构的指针。.返回值: 如果消息被转换(即,字符消息被送到线程的消息队列中),返回非零值。 如果消息是 WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, 或 WM_
阅读全文
摘要:Questions:I'm using MFC CDialog/CDialogEx to show a modal dialog with DoModal.usually it works without problems, but sometimes, the dialog wont show up until I press ALT key.the scenarios is, I have a timer in the parent window, and doing some work in the OnTimer function, if the work takes too
阅读全文
摘要:一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论) Debug 版本: /MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函...
阅读全文
摘要:I'm writing a C++ MFC program on VS2008 and I'm getting this "Debug Assertion Error" when I first run the programsometimes. When I try to debug it, it takes me to this winhand.cpp file which is not part of the program I wrote so I'm not sure how to debug this.It takes the error
阅读全文
摘要:获取命令行的方法:1、GetCommandLine() 获取输入的所有信息,包括程序所在路径及参数2、AfxGetApp()->m_lpCmdLine 只包含参数一般情况下,获取到命令行后就可以针对命令行中的内容进行相应的处理了CObject└CCommandLineInfo类CCommandLineInfo用于分析启动应用时的命令行参数。MFC应用一般都会在它的应用对象中使用函数InitInstance创建这个类的一个本地实例。然后把该对象传给CWinApp::ParseCommandLine,ParseCommandLine又重复调用ParseParam填充CCommandLineI
阅读全文
摘要:在MFC程序中,可以用以下几种方法来获取命令行参数。为方便说明,我们假设执行了命令:C:\test\app.exe -1 -2方法一::GetCommandLine();将获取到"C:\test\app.exe" -1 -2方法二for(inti=0;im_lpCmdLine;将获取到-1 -2其他方法如果希望支持MFC应用程序的标准命令行,还可以使用MFC中的CCommandLineInfo类。相关文章:http://blog.csdn.net/geeeeeeee/archive/2008/12/13/3510195.aspx
阅读全文
摘要:今天上午稍微跟踪了一下自己的项目里面的各个空间,得知GetClassName可以取到以下类名:Static\Edit\Button\ComboBox\msctls_trackbar32\SysTabControl32\SysListView32\SysDateTimePick32,可能还有更多,当前我的项目有这些,mark一下吧
阅读全文
摘要:1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”2. 设置listctrl 风格及扩展风格 LONG lStyle; lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style lStyle &= ~LVS_TYPEMASK; //清除显示方式位 lSty
阅读全文
摘要:以前好像发现,MFC窗口上按钮的自动样式有时是有亮色边框3D效果的,有时没有,不知道原因,也没有追究,今天正好有机会发现了原因,原来是随字符集而改变的。1.Unicode版本下的窗口2.未设置的窗口3.继承的窗口4.多字节的窗口设置方法,下图PS:本人从今天开始入驻博客园,虽然园子已经开启一段时间了,但是一直主要还是用百度空间,最近百度空间老是出问题,经常出现发表失败上传失败等问题,受不了了,于是开启了偶博客园的新生活,吼吼~~~
阅读全文

浙公网安备 33010602011771号