现在位置: 首页 > MFC
2012-08-06 21:34 工业·编程 ⁄ 共 3698字 暂无评论
    消息队列中的本窗口大量消息并不会被自动取出,也没有自动地调用WinProc函数对消息加以处理,但是,Window系统提供了三个API函数给我们,让我们自己去完成这件事。看吧! GetMessage( …); TranslateMessage(…); DispatchMessage(…);     下面就让我分别对这三个函数解释解释。 1 GetMessage( …) 原型如下: BOOL GetMessage(     LPMSG lpMsg,   &...
阅读全文
2012-08-06 21:21 工业·编程 ⁄ 共 4902字 评论 1 条
前一段,帮人写了个小控件,又温习了一遍Windows消息处理机制,现在把一些知识点总结出来,供大家参考. 1.窗口    Windows程序是由一系列的窗口构成的,每个窗口都有自己的窗口过程,窗口过程就是一个拥有有固定 Signature 的 C函数,具体格式如下:    LRESULT CALLBACK WindowProc(HWND hwnd,        UINT uMsg,        WPARAM wPa...
阅读全文
2012-08-06 06:55 工业·编程 ⁄ 共 1547字 暂无评论
1、消息驱动与消息循环 “消息”是windows运行机制中一个基本而又重要的概念。消息是一个报告事件发生的通知,消息驱动是围绕消息的产生与处理展开的,并依靠消息循环机制来实现。 从程序设计的观点看,某条消息可被视为某个事件的发生,比如点击鼠标。事件即可以由用户引发,也可以由应用程序产生,当然Windows本身也能发出消息。Windows应用程序的消息来源有4种:输入消息,控制消息,系统消息,用户消息。 Windows是一个多任务...
阅读全文
2012-08-06 06:53 工业·编程 ⁄ 共 4464字 暂无评论
    消息的传递与发送是Windows应用程序的核心所在,任何事件的触发与响应均要通过消息的作用才能得以完成。在SDK编程中,对消息的获取与分发主要是 通过消息循环来完成的,而在MFC编程中则是通过采取消息映射的方式对其进行处理的。相比而言,这样的处理方式要简单许多,这也是符合面向对象编程中尽可 能隐含实现细节的原则。一个完整的MFC消息映射包括对消息处理函数的原型声明、实现以及存在于消息映射中的消...
阅读全文
2012-08-06 06:51 工业·编程 ⁄ 共 995字 暂无评论
    用户可以为了特定的目的而定义自己的消息,这些消息也称为自定义消息。进行自定义消息的方法很简单,一般有两种:一种是利用ON_MESSAGE宏,另外一种就是创建自己的消息映射宏,这一种方法可以定制消息的参数类型,而不像前者只能使用固定的消息参数类型。但是一般情况下不需要定制消息的参数类型,因此这里对此不予介绍。本节主要介绍第一种比较常用的方法。     预定义常量值WM_USER(0x040...
阅读全文
2012-08-04 23:08 工业·编程 ⁄ 共 4463字 暂无评论
    在MFC中,排除调用API函数那种复杂的方法之外,就只有CMenu这个类可以让我们来控制菜单了。对于这个类,琢磨了两天,总算有点心得。    对于系统菜单,创建起来比较简单,直接使用资源编辑器就能生成菜单,再通过ClassWizard创建菜单命令函数。在我的资源中上传了一个工程,实现了一个右键弹出贴图菜单。结合这个工程,介绍动态创建菜单、创建弹出式菜单和重绘菜单。 首先介绍基础知识: 一、CMen...
阅读全文
2012-08-03 23:11 工业·编程 ⁄ 共 10867字 暂无评论
MFC类的分类 1 Root: CObject :  CObject 2 Application Architecture Classes: CWinApp/CFrameWnd/... 3 Window, Dialog, and Control Classes:CWnd/CDialog/... 4 Drawing and Printing Classes : CGdiObject/CPrintInfo/... 5 Simple Data Type Classes :CString/CRect/... 6 Array, List, and Map Classes :CTypedPtrArray/... 7 File and Database Classes : CStdioFile/CDatabase/... 8 Internet an...
阅读全文
1、#include指令 包含指定的文件 2、#define指令  预定义,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了 3、#typedef指令 常用来定义一个标识符及关键字的别名它是语言编译过程的一部分,但它并不实际分配内存空间。 4、#ifndef   #else   #endif指令 条件编译。一般情况下,源程序...
阅读全文
2012-08-02 07:52 工业·编程 ⁄ 共 3110字 暂无评论
    和Win32平台创建Windows程序作对比:MFC有个theApp全局变量来代表程序的本身. WinMain 寻找WinMain入口:在安装目录下找到MFC文件夹下的SRC文件夹,SRC下是MFC源代码。WinMain在APPMODUL.CPP中实现: _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { // call shared/exported WinMain return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nC...
阅读全文
2012-08-01 05:00 工业·编程 ⁄ 共 1240字 暂无评论
// MFC.cpp -- Windows MFC编程示例 //  编译:cl /MD /D "_AFXDLL" MFC.cpp /link /subsystem:windows #include <afxwin.h> #define IDC_BUTTON1 100 //声明应用类 class MyApp:public CWinApp { public: virtual BOOL InitInstance(); }; //声明主窗口类 class MyWnd:public CFrameWnd { CStatic * cs; CButton * cb; public: MyWnd(); afx_msg void HandleButton...
阅读全文