下载源代码 五.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等.用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等.但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务. 在MFC中,一般用全…
MFC中的Invalidate.OnDraw.OnPaint函数的作用 CWnd::Invalidate voidInvalidate( BOOL bErase = TRUE ); 该函数的作用是使 整个窗口客户区无效.窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘. 这时Windows会在应用程序的消息队列中放置WM_PAINT消息.MFC为窗口类提供了WM_PAINT的消息处理函数 OnPaint,OnPaint负责…
转自:http://blog.csdn.net/eddy_liu/article/details/8474677 目前,用MFC设计的Windows应用程序几乎都采用文档/视图结构.这种程序框架与简单程序框架之间的重要区别就在于形成应用程序的主窗口不只需要一个类的对象,而是需要3个对象: 框架窗口类(CFrameWnd)对象 视图类(CView)对象 文档类(CDocument)对象 框架窗口类(CFrameWnd)对象作为窗口的框架,视图类(CView)的对象作为贴附在框架窗口上的用户区,二者…
本节主要讲一下如何在MFC窗口中使用cocos2dx 在做比较复杂的游戏,有时需要通过一些工具来编辑生成关卡或者特效,技能等的配置文件.为了方便配置,需要可以通过修改参数直观得到显示的效果.这就需要将引擎加载到工具中进行效果显示,这里我们将cocos2dx应用到MFC,得到最终效果如下: 一.通过HWND创建cocos2dx窗口View 通过参考 GLViewImpl 及 GLView 创建MFC中可以使用的 CMyEGLView .在GLView中我们可以看到如下所示,Win32中实际使用的窗…
Window消息可以分为三类:(1)标准Window消息(CWnd子类处理),(2)控制通知消息(CWnd子类处理),(3)命令消息(应用中的5类都可以).所有派生自CCmdObjec对象的类都可以处理Windows消息. (1)前缀以“WM_  ”开头,但是WM_COMMAND消息除外.如窗口重回WM_PAINT,WM_QUIT (2)WM_COMMAND消息,窗口上的各种空间发出的消息 (3)WM_COMMAND消息,只是指控制界面发出的消息,如菜单项与工具栏的按钮操作.MFC为“标准菜单”…
VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图) 1. 在资源窗口里新建一个FormView的Dialog,修改ID为IDD_FORMVIEW.在此Dialog上点击右键添加类,建立一个基类为CFormView的类,这里取名为CMfcFormView.则生成了MfcFormView.h和MfcFormView.cpp文件. 2. 建立一个CDockablePane的派生类,予以容纳FormView,建立派生出的CD…
一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装.对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\:对于64位系统,为:C:\Windows\SysWOW64\Macromed\Flash. Flash控件的大版本号用数字表示,如9,10,11等,小版本…
转载http://hi.baidu.com/jackywdx/item/feee8041d2c2e12310ee1e85 Windows应用程序通常是通过对话框接收用户输入.向用户输出信息,本节介绍应用程序中对话框的创建和应用,首先介绍对话框的工作方式.种类及创建方法,然后介绍如何将对话框与程序联系在一起. 3.4.1 对话框的工作方式.种类和创建方法 1. 对话框在应用程序中的工作方式 前已述及,文档类是应用程序存储数据的地方,而对话框是用户与应用程序之间信息交互的桥梁,那么,文档数据是怎样传…
1.用处 在多个类之间传递消息.当需要响应用户操作,本类却无法实现时,可以向系统发出消息.然后让系统中的需要的位置实现它. 2.方法 2.1定义这个消息,并让拥有者发送这个这个消息,传递一个整型参数 这里才需要发送消息的地方(实现文件,cpp文件中) 添加以下代码: //--让父窗口去更改值 ); GetOwner()->SendMessage(WM_CHANGED,,nrow); 2.2 这里的 WM_CHANGED 需要用户自己定义值, MFC中给用户自定义消息预留了消息字段 . 在(声明文…
1.在继承与派生中,单目:表示派生,双目::表示继承,例如 class A { public: void c(); }; class B: public A {}; //类B继承类A void A:: c() { }; //A派生成员函数c 2.获取窗口的指针.句柄以及窗口的指针 CWnd *pWnd = GetDlgItem(ID_***); // 取得控件的指针 HWND hwnd = pWnd->GetSafeHwnd(); // 取得控件的句柄 CDC* pdc = pwnd->Get…