MFC消息映射-小白理解(4)
来源:互联网 发布:java类的定义格式 编辑:程序博客网 时间:2024/06/15 15:22
1 消息映射->不使用继承而使用宏定义的处理消息的函数on系列
消息映射好像一个子函数
逻辑过程是在类申明消息映射:
DECLARE_MESSAGE_MAP();//申明消息映射
申明之后当然是实现啦:
BEGIN_MESSAGE_MAP(MyFrame,CFrameWnd);//处理哪一个窗口?继承谁
ON_WM_PAINT();
END_MESSAGE_MAP()
那处理处理哪一个消息??:例如绘制
WM_PAINT 消息 WM表示是表示系统传入消息,ON表示映射
当然接收一个消息,必须函数申明与定义:
afx_msg void OnPaint();
然后是对每一个消息进行申明处理
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP();//申明消息映射
#include"myapp.h"MyApp myapp;BOOL MyApp::InitInstance()//::并且是继承的虚函数构造函数{this->m_pMainWnd = new MyFrame();//既然是指针就必须new 一段内存//应用程序对象成员变量m_pMainWnd是一个窗口指针,即主窗口的指针。//初始化实例时创建N多个窗口,而只有这个指针指向的才是主窗口this->m_pMainWnd->ShowWindow(this->m_nCmdShow);//类似函数this Fun(this varibal)//m表示CWinApp的数据成员变量,'_'是一个命名的规则,方便阅读,n表int型,Cmd表命令Show表示应用程序窗口//的表现状态,如传递窗口的最大化或最小化...this->m_pMainWnd->UpdateWindow();return TRUE;//全大写的TRUE} BEGIN_MESSAGE_MAP(MyFrame,CFrameWnd) //没有冒号 ON_WM_PAINT()END_MESSAGE_MAP() MyFrame::MyFrame(){this->Create(NULL, TEXT("my")); //http://heduoduo321.blog.163.com/blog/static/657211222011279282841/} void MyFrame::OnPaint()//记住函数必须有类型void{CPaintDC dc(this);//著名的DC,所有窗口都是绘制出来的//把当前的窗口传进去绘制//CPaintDC类是一个来自CDC的设备环境类。相当于显示器。dc.Ellipse(100, 100, 200, 300);//学习如何画椭圆与画文字CRect crect; //申请一块方框this->GetClientRect(&crect);//我的框架里面拿到这个窗口//CPaintDC dc(this);通过this 与窗口框架关联,窗口内部客户区//&是引用 dc.DrawText(TEXT("addddd"),-1, &crect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);//符号是|//第一个是绘制内容,-1文字字数,绘制哪里,一行,左右居中,V居中}
#include <afxwin.h> //MFC的头文件class MyApp : public CWinApp //类的继承{public:virtual BOOL InitInstance();//避免多层继承virtual};//结束;BOOL是大写 class MyFrame : public CFrameWnd{public:MyFrame();//构造函数与子类一样protected:afx_msg void OnPaint();DECLARE_MESSAGE_MAP();//申明消息映射};
阅读全文
0 0
- MFC消息映射-小白理解(4)
- MFc消息映射机制理解
- MFc消息映射机制理解
- 深入理解MFC中的消息映射原理!!!
- MFC消息映射的一些理解
- MFC的消息映射机制的理解
- MFC消息映射机制的理解
- MFC的消息映射机制的理解
- Windows(MFC)消息映射
- MFC复习(五)MFC消息映射与消息传递
- MFC教程(4)-- 消息映射的实现(1)
- MFC教程(4)-- 消息映射的实现(2)
- MFC教程(4)-- 消息映射的实现(1)
- MFC消息响应机制及映射机制理解
- MFC消息响应机制及映射机制理解
- MFC消息响应机制及映射机制理解
- 从函数指针角度理解MFC消息映射
- MFC消息响应机制及映射机制理解
- codeforces 116A(Tram) Java
- 【性能分析】UMDH分析内存泄露
- Contest_6 0619 By lhq
- 数据结构
- [bzoj1202] 狡猾的商人
- MFC消息映射-小白理解(4)
- 解析oracle的rownum
- 51nod1667 概率好题
- Oracle 生成流水号 存储过程 订单编号
- ListView多条目加载
- 将二维数组用foreach遍历并以表格的形式输出
- LeetCode (1)
- 修复官方duilib-MenuWnd无法响应子项事件
- 一天搞懂机器学习PPT笔记-1