MFC
轩辕泪1020
巨人正在奔跑
展开
-
学习MFC多线程
2016年1月7日好吧,终于又要学习MFC了,唉,希望这次能吧MFC多线程学会。多谢dgp的程序首先在了解一下句柄吧:http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/04/2535252.html1.在ThreadFunc()里,对外部的控件进行控制;当然还有其他的方法。 time=CTime::GetCurrentTime原创 2016-01-07 04:12:10 · 417 阅读 · 0 评论 -
MFC CStatic控件在DrawItem中自绘
转载自:也已时过境迁的MFC CStatic控件在DrawItem中自绘实现PreSubclassWindowvoid CStaticHref::PreSubclassWindow(){// TODO: Add your specialized code here and/or call the base classDWORD dwStyle = GetStyle(); SetWindo转载 2016-09-29 09:28:39 · 4062 阅读 · 0 评论 -
MFC子类化控件
转自:代码小卒的文章MFC子类化控件子类化理解作为一个程序员,我们经常会在程序中用到Windows通用控件。比如按钮控件,进度条控件等等。但是有时我们需要给控件更多的特色,这就需要做控件的子类化(subclassing). 子类化一个Windows控件与子类化一个C++类不同,子类化一个控件要求你把一个窗口的一些或所有的消息映射都替换成自己的函数来响应,这样你就有效的阻止了控件去做系统默认的行为,转载 2016-10-31 11:59:04 · 2982 阅读 · 0 评论 -
MFC控件的外观编辑
VC++ MFC 按钮的全部样式Style转载地址:http://www.cnblogs.com/lujin49/p/4691107.html Button Style BS_3STATE 与复选框一样本样式按钮可被单击变暗。变暗状态通常用于指示本样式的按键正处于禁用状态。 BS_AUTO3STATE 与三状态的复选框一样当用户选中它本按钮样式状态外观会改变。 BS_AUTOCHECKBOX转载 2016-09-19 14:22:52 · 9525 阅读 · 0 评论 -
MFC中遇到的一些问题
1 WM_TIMER消息响应中的一些重要的知识点Timer使用的是时间中断响应计时,windows的时间中断每1/18秒触发一次,所以Timer最低精度约在55ms,低于这个时间则精度不够。如果要启动多个定时器就多次调用SetTimer成员函数。另外,在不同的CWnd中可以有ID相同的定时器,并不冲突。(百度百科:[TIMER][http://baike.baidu.com/link?url=G原创 2016-09-26 14:18:42 · 545 阅读 · 0 评论 -
MFC中的Resource.h文件理解
新建一个基于对话框的resource.h文件//{{NO_DEPENDENCIES}}// Microsoft Visual C++ 生成的包含文件。// 由 TestResouse.rc 使用//#define IDR_MAINFRAME 128#define IDM_ABOUTBOX 0x0010#define原创 2017-03-13 22:13:01 · 11769 阅读 · 0 评论 -
High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件
原文地址:https://www.codeproject.com/articles/14075/high-speed-charting-control 本文翻译在CodeProject上的介绍(主要还是谷歌翻译,看不太明白的地方,请对比原文,敬请原谅),方便自己和后面人的学习(花费了两天时间,希望是值得的)。推荐一个前辈写的东西:TeeChart替代品,MFC下好用的高速绘图控件-(Hight-...翻译 2016-12-07 15:22:33 · 44357 阅读 · 25 评论 -
_CrtIsValidHeapPointer 错误
参考文档:_CrtIsValidHeapPointer出错的解决方法,找到了根本原因啦! 下面是本人编程遇到的:1 指针的malloc 和 free的问题。问题代码: BYTE *pBuffer; pBuffer = (BYTE *)malloc(64); pBuffer = pBuffer + 32; free(pBuffer); pBuffer =原创 2017-10-21 12:04:31 · 1468 阅读 · 0 评论 -
C++学习容易错的
1. 字符型指针与字符数组在使用中异同,如:(1)char str[81] = "abcde", *pstr = "abcde";//正确 (2)char str[81], *pstr; str = "abcde";//错误 pstr = "abcde";//正确 str是数组的首地址,是常量指针,是不能出现赋值符号左边,从语法上是错误的。 (3) char str[81], *pst原创 2016-12-15 01:42:14 · 516 阅读 · 0 评论 -
GSR项目总结-VC相关
0. 摘要1. 操作数据库师弟把东西写了一个模块,和项目合并的时候出现了错误如下: - 将Excel操作的类直接导入到工程,不能识别。参考:https://blog.csdn.net/phenixyf/article/details/51149811 |解决办法:按照参考重新添加一遍,觉着应该是工程内部文件需要更改。这个就不懂了(哎!不懂的这么多啊!) - LNK1107 错误...原创 2018-04-22 22:19:14 · 422 阅读 · 0 评论 -
MFC绘制动态曲线,用双缓冲绘图技术防闪烁
转载自:ZHY_ongu的博客:MFC绘制动态曲线,用双缓冲绘图技术防闪烁 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新。一、如何绘制动态曲线。所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的。所以如果你掌握了如何绘制静态曲线,那么学会绘制动态曲线也不远啦,只需要创建一个定时器(比如调用MFC中的SetTimer函数),每隔一定时间(比如1ms),调用OnPaint转载 2016-09-26 21:57:10 · 2135 阅读 · 0 评论 -
WM_CTLCOLOR消息重载
在每个控件开始绘制之前,都会向其父窗口发送WM_CTLCOLOR通告消息,在该消息的处理函数中,可以设置控件显示文本的前景色、背景色以及字体。该消息处理函数还要求返回一个画刷的句柄,用于在控件具体的绘制之前擦除其客户区。 WM_CTLCOLOR映射消息处理函数为afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)。转载 2016-09-26 14:14:32 · 1495 阅读 · 0 评论 -
CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别
转载自:swimmer2000的CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别MFC(VC6.0)的CWnd及其子类中,有如下三个函数 // From VS Install PathVC98MFCIncludeAFXWIN.H class CWnd : public CCmdTarget { ...转载 2016-10-09 22:19:03 · 431 阅读 · 0 评论 -
操作CString 对象出错 未RealeaseBuffer
使用CString对象getBuffer后一定要进行RealeaseBuffer操作,不然会出现意想不到的错误。下文转自:http://www.cnblogs.com/zhuyf87/archive/2012/11/02/2751011.htmlCSting的GetBuffer()和ReleaseBuffer()GetBuffer和ReleaseBuffer是从其父类C原创 2016-03-07 18:18:19 · 512 阅读 · 0 评论 -
MFC error C3646: 未知重写说明符
error C3646: 未知重写说明符我遇到的情况是:a.h a.cpp b.h b.cpp,在a.h 中#include了b.h,并定义了一个b类的对象,然后在b.h中又#Include了一个a.h,然后求出了这个错误原创 2016-04-05 15:56:47 · 6550 阅读 · 2 评论 -
CString 运算时产生的错误
错误:0x0F241BC0 (ucrtbased.dll)处引发的异常: 0xC0000005: 读取位置 0x00000030 时发生访问冲突。// m_strRXhhCOM1 += (TCHAR*)ch;//错误的根源-->使用了指针//正确改法m_strRXhhCOM1 += (TCHAR)ch;//原创 2016-02-29 11:01:05 · 659 阅读 · 0 评论 -
MFC 可恶的CEDIT控件
关于CEdit类,另一个比较扯的是(本人写的是一个串口程序,开始是将所有的串口数据存入到一个CString 对象中,然后使用UpdateData(false)更新到控件中,但是会出现延迟的情况,就是利用UpdateData会延迟,(滚动条每次刷新都会先回到顶部,然后再到底部,如果刷新比较快,容易闪动)),错误方法如下(updateData一样)原创 2016-01-08 01:28:51 · 1311 阅读 · 0 评论 -
MFC中获取主窗口指针
转自:http://blog.csdn.net/waveyang/article/details/6099587MFC中获取主窗口指针AfxGetMainWndCWnd*AfxGetMainWnd( );返回值:CWnd如果服务器具有一个可以在容器内现场激活的对象,并且这个容器是活动的,则这个函数返回一个指向包含这个现场活动文档的框架窗口对象的指针。如果没有可以在容器内现场转载 2016-05-31 20:22:47 · 2363 阅读 · 0 评论 -
Tab Control——属性页的子对话框中的CEdit控件无法输入的解决办法
问题描述CEdit控件在Tab页中没办法输入,利用TabSheet类进行解决原创 2016-09-13 10:39:29 · 2035 阅读 · 0 评论 -
LPDRAWITEMSTRUCT,PDRAWITEMSTRUCT ,DRAWITEMSTRUCT参数介绍
定义typedef struct tagDRAWITEMSTRUCT { UINT CtlType; UINT CtlID; UINT itemID; UINT itemAction; UINT itemState; HWND hwndItem; HDC转载 2016-10-08 20:24:45 · 1762 阅读 · 0 评论 -
Windows 编程: 将目标窗口显示在最顶端
1. [BUG Backgroud]使用SetForegroundWindow(hwnd) 不能将目标窗口弹到顶端.Win7 中使用WIN键后出现的BUG.最终成功测试代码:BOOL MyClass::PutMyWindowToTop() { OutputDebugString("In function PutMyWindowToTop!"); HWND hwnd = Fin...原创 2018-10-26 20:05:17 · 1566 阅读 · 0 评论