MFC
文章平均质量分 57
jdi12
这个作者很懒,什么都没留下…
展开
-
深入探讨MFC消息循环和消息泵
原文链接:深入探讨MFC消息循环和消息泵首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情。在MFC的应用程序中(应用程序类基于CWinThread继承),必须要有一个消息循环,他的作用是从应用程序的消息队列中读取消息,并把它派送出去(::Disp转载 2012-12-01 09:16:05 · 575 阅读 · 0 评论 -
【销毁窗口】窗口自己回收自己(自回收)
对于这样创建的窗口:void CTestDlgDlg::OnOK(){CAutoRelease* pDlg = new CAutoRelease;pDlg->CreateWnd( this );}其中:CAutoRelease继承自CDialogpDlg是局部变量。因此CAutoRelease只能自己回收自己。通常的做法是重载CDialog::PostNcD原创 2013-05-06 11:39:46 · 575 阅读 · 0 评论 -
DLL相关
原文:使用 AFX_EXT_CLASS 导出和导入扩展 DLL 使用 AFX_EXT_CLASS 宏导出类;链接到扩展 DLL 的可执行文件使用该宏导入类。用于生成扩展 DLL 的相同头文件可通过 AFX_EXT_CLASS 宏与链接到 DLL 的可执行文件一起使用。在 DLL 的头文件中,将 AFX_EXT_CLASS 关键字添加到类的声明中,如下所示:转载 2013-02-06 10:33:11 · 399 阅读 · 0 评论 -
【销毁窗口】TN017: Destroying Window Objects
摘自:MSDN Library for Visual Studio 2005This note describes the use of the CWnd::PostNcDestroy member function. Use this function if you wish to do customized allocation ofCWnd-derived objects.T转载 2013-05-07 20:49:19 · 665 阅读 · 0 评论 -
【销毁窗口】关键消息和方法
消息和方法说明 摘自:MSDN Library for Visual Studio 2005WM_CLOSE NotificationThe WM_CLOSE message is sent as a signal that a window or an application should terminate.An application can prompt the原创 2013-05-07 21:21:57 · 680 阅读 · 0 评论 -
内存泄漏的跟踪
参考:http://blog.csdn.net/xiongjinshui/article/details/7580506在MFC应用程序(DLL)中,可以简单的使用如下代码,进行内存泄漏的跟踪:#ifdef_DEBUG#definenew DEBUG_NEW#endif 但是在非MFC应用程序(DLL)中,上述代码不能使用。可以使用如下办法,在非MF原创 2013-03-27 11:44:23 · 372 阅读 · 0 评论 -
CreateCompatibleBitmap返回错误码8的原因及解决方案
转自:http://hi.baidu.com/li_kun_peng/item/785d84f5ec21014c932af2b2最近测试程序,发现一个图片显示程序在一台512M内存的机器上同时打开5个以后,就无法显示图片了。在网上查了一下,CSDN有袁峰回答了一个类似问题。根据袁峰的提示,我找了他的书《Windows图形编程》(英文名:Windows Graphics Programm转载 2012-11-22 20:42:12 · 1193 阅读 · 0 评论 -
为什么建议使用_beginthread和_beginthreadex以及_beginthread和_beginthreadex差异点
1,为什么建议使用_beginthread和_beginthreadex:A thread in an executable that calls the C run-time library (CRT)should use the_beginthread and _endthread functions for threadmanagement rather thanCreateTh原创 2012-12-03 15:58:39 · 470 阅读 · 0 评论 -
UpdateLayeredWindow()失败,GetLastError()返回0
在绘制分层窗口时,使用了如下代码段绘制分层窗口:HDC hdcMem = ::CreateCompatibleDC();HBITMAP hbmpMem = ::CreateCompatibleBitmap();::SelectObject(hdcMem, hbmpMem);/***** paint on memory dc hdcMem ****/UpdateLayeredW原创 2012-11-22 21:19:04 · 647 阅读 · 0 评论 -
一处“未处理的异常”解决方法
调试程序时,弹出如下提示:看调用堆栈,没发现什么有用的信息: 修改VS设置(Debug -> Exceptions -> Win32 Exceptions ,将这些异常都抛出),重新运行程序。VS能给了出更明确的提示:访问冲突,并定位到了冲突的代码。 所谓访问冲突,就是访问了不该(不能)访问的内存位置。查看调用堆栈前后执行的代码,发现是一处宏原创 2013-05-14 11:30:28 · 3132 阅读 · 0 评论