MFC学习笔记

最近因为要做一个项目所以必须要学习MFC,那么以下就是我觉得MFC里面非常重要的东西。

当然,都是入门级的...

1.操作系统把他所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用。

2.操作系统是靠消息机制将感知到的事件传递给应用程序的。操作系统将每个事件都包装成一个称为消息的结构体。

3.句柄是资源的标识,操作系统要管理和操作这些资源,都是通过句柄来来找到对应的资源。句柄分为图标句柄,光标句柄,窗口句柄...

4.以WM_开头的函数都是宏定义的即windows message

5. 在winmain函数(程序入口)函数调用之前,先进行构造函数,因为要先分配空间。

6.带AFX的函数是属于应用程序框架的函数,都是全局函数。

7.View类始终是覆盖在MainFrame类之上的。相当于两面墙,View总是挡在MainFrame这面墙前面,而操作永远实在前面这面墙上的。

8.(MFC的消息映射机制):首先要知道MFC在后台有一个句柄和对象指针的一个对照表。一旦有消息发生时,因为消息是和一个窗口相关的。就会通过句柄找到对应的c++对象的指针,将指针传给基类,然后基类通过消息循环,调用WindowProc函数来对消息进行处理。而WindowProc函数是个虚函数,所以当子类继承CWnd类的时候都会有WindowProc函数,它会通过消息种类去查找对应的消息映射。而在WindowProc中,真正处理消息的是OnWndMsg函数。OnWndMsg函数会进行一个判断,看该消息有没有对应的消息响应函数。判断方式是1.到c++头文件中看在DECLARE_MESSAGE_MAP之上有没有消息响应函数的声明。2.在源文件中BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间有没有宏。如果找到了消息响应函数,最终就会调用该函数,对消息进行处理。

9.MFC把所有与作图相关的操作放在了CDC类里面。

10.MFC常用RBG值 
   Colour      Red      Green      Blue           
   黑色           0              0          0         
   白色          255         255      255    
   灰色          192         192     192    
   深灰色      128         128     128   
   红色          255           0        0       
   深红色      128           0        0    
   绿色            0           255    0        
   深绿色        0          128    0       
   蓝色            0          0      255      
   深蓝色        0          0    128     
   紫红色       255        0    255        
   深紫红       128       0    128         
   紫色             0       255    255        
   深紫             0       128    128        
   黄色            255      255    0        
   棕色           128      128    0  

11.(--------引用他人的博客-------)关于DC和SelectObject()函数

画画举例,画画的环境,就是DC。在画画的环境中,有哪些对象呢?画布,区域,颜料盒(调色板),字体,刷子,位图。
现在开始画画了,你拿起了一只笔。——在Windows环境里,这叫选择了一个画笔对象:使用SelectOBject函数。当然,如果你没带笔也没关系,Windows为你准备了几只画笔,你可以这样申请系统提供的缺省画笔:hPen = GetStockObject(WHITE_PEN);
如果你画着画着,觉得手中的笔用着不爽,可以换一只啊——依旧是SelectObject()换笔。
若是画完一部分大树,准备画蓝色的天空,当你画完天空后继续画另一部分大树你得需要把画笔的颜色换回原先画大树的颜色。——你需要用SelectObject(m_pOldPoint)选回原先的颜色。
当然,如果你走出了画室,别忘了把你的画笔清除掉,要不画室里全是笔啊,刷子啊,太乱了。——DeleteObject()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值