MFC
文章平均质量分 65
lovelanjuan
这个作者很懒,什么都没留下…
展开
-
OnEraseBkGnd与OnPaint的联系
在使用VC进行绘图时,最郁闷的就是屏幕闪烁问题。有时只能使用双缓冲去解决,当然更多的时候是去忍受。有没有什么这种的方法?有,那就是重载OnEraseBkgnd()函数。该函数控制重绘图的背景刷新,默认将窗口用系统背景颜色填充,即用白色将窗口刷一遍。这就产生的严重的闪烁效果,有时看到屏幕白的一条一闪而过,非常不爽。如果将该函数返回值设为TRUE,即不进行背景重绘,虽然屏幕的刷新仍然会闪烁,但是就不会转载 2011-11-24 15:55:25 · 444 阅读 · 0 评论 -
SendMessage、PostMessage原理
本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:1、SendMessage、PostMessage的运行机制。2、SendMessage、PostMessage的运行内幕。3、SendMessage、PostMessage的内部实现。注:理解这篇文章之前,必须先了转载 2013-10-16 15:17:48 · 720 阅读 · 0 评论 -
定时器TIMER
Timer事件,即定时器事件,是在游戏编程中,经常使用的一个事件。借助它可以产生定时执行动作的效果。这篇文章,就和大家一起探讨一下如何使用SetTimer()函数。1、SetTimer定义在那里?SetTimer表示的是定义个定时器。根据定义指定的窗口,在指定的窗口(CWnd)中实现OnTimer事件,这样,就可以相应事件了。SetTimer有两个函数。一个是全局的函数::转载 2013-07-11 10:26:38 · 606 阅读 · 0 评论 -
在MFC中分割窗口
分割窗口分为两类:动态分割窗口和静态分割窗口。动态分割窗口是指:用户可以动态的分割和除去分割窗口,分割窗口会创建和删除相应的窗格。Microsoft Word就是使用动态分割窗口的例子,这是一种最常用的分割窗口。动态分割窗口最多可以有2行´ 2列个窗格。静态分割窗口是指:在窗口创建时,分割窗口的窗格就已经创建好了,且窗格的数量和顺序不会改变。窗格为一个分割条所分割,用户可以拖动分割条调整相转载 2012-04-16 20:08:41 · 4227 阅读 · 1 评论 -
如何在对话框中获得文档的指针?
CMainFrame *pFrame=(CMainFrame *)AfxGetMainWnd(); CMyDoc *pDoc=(CMyDoc *)pFrame-> GetActiveDocument();转载 2011-12-29 12:44:29 · 537 阅读 · 0 评论 -
从文档类取得视图类的指针
CDocument类提供了两个函数用于视图类的定位:GetFirstViewPosition()和GetNextView(),具体语法如下: virtual POSITION GetFirstViewPosition() const; virtual CView* GetNextView(POSITION& rPosition) const;注意:GetNextView()括号中的转载 2011-12-28 16:04:00 · 1322 阅读 · 0 评论 -
AfxMessageBox和Messagebox的区别
AfxMessageBox的函数原型 int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) –1 );转载 2011-11-24 18:13:11 · 720 阅读 · 0 评论 -
LPCTSTR 和 const char* 的关系
我们先来看一段宏定义#ifdef _UNICODE #define LPCTSTR LPCWSTR #else #define LPCTSTR LPCSTR #endif #define LPCWSTR const wchar_t * #define LPCSTR const char * 如果你的程序是多字节编译,那么LPCSTR和const char原创 2011-11-30 16:12:57 · 1010 阅读 · 0 评论 -
MFC AfxMessageBox() 简单问题及-T宏的作用
MFC AfxMessageBox() 简单问题AfxMessageBox(“恭喜你过关了");error: none of the 2 overloads could convert all the argument但是用 AfxMessageBox(_T("恭喜恭喜,过关了"));就没有问题。 解决方案:1:VC8之后的版本创建的工程默认使用UNICODE字符串,带有转载 2011-11-24 21:35:35 · 2900 阅读 · 0 评论 -
OnDraw与OnPaint有什么区别?(转)
学习中遇到一个问题,OnDraw与OnPaint有什么区别?上网搜索了一下,又查了一下MSDN和MFC的一些源文件,现整理如下。OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能转载 2011-11-24 15:29:25 · 392 阅读 · 0 评论 -
共享内存实现进程间大数据的交换
引言 进程间的数据交换和共享是一种非常重要和实用的技术。大、中型软件的开发设计多是由众多程序设计人员的合作完成,通常一个程序设计人员只负责其中一个或几个模块的开发,这些模块可以是动态链接库也可以是应用程序或是其他形式的程序组件。这些独立开发出来的程序模块最终需要作为一个整体来运行,即组成一个系统,在系统运行期间这些模块往往需要频繁地进行数据交换和数据共享,对于动态链接库同其主调应用程序之间的转载 2013-10-16 20:24:23 · 1724 阅读 · 0 评论