正文

MFC-你的类到底帮我做了什么?2005-12-20 18:14:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/smile/8632.html

分享到:


 

    MFC 你的类到底帮我做了什么?(理解什么是句柄?)

    MFC帮我们和Windows对话,MFC是个服务公司

    MFC相当于一些第三产业,比如餐馆.比如企业ISO9000认证咨询公司.比如营业执照代办机构.
   所有的原因是因为这些东西都很复杂,所以我们引进了MFC来帮我们的忙.
其实跟认证咨询公司帮我们准备报表,然后帮我们联系认证机构一样.MFC就是通过API和WINDOWS这个上帝进行交流.我们自己可能记不住怎么和上帝聊天的规范,但MFC知道那些流程.如果你自己会讲你在MFC帮你说的时候你也可以自己插嘴说两句,这样直接一点.

   先讲讲跟WINDOWS上帝说话的时候的要素.  最关键的是句柄(内存地址),因为在WINDOWS的概念里只有内存空间地址. 比如你求WINDOWS帮你在你的程序的窗口上写一个字(记住,其实是WINDOWS帮你写的,别以为写上几个代码就会在屏幕上写字),那你得告诉WINDOWS 你的窗口内存的地址,然后告诉它在什么坐标上. 这个时候WINDOWS  就找到那个内存地址,然后 通过坐标计算出相对空间位置加上内存地址,  这时候就在那里写上字.  然后其他的部门(显示驱动程序)会把字写到屏幕上.

    上面的操作,如果你自己跟WINDOWS说,那得做两件事,第一件是获得句柄,第二件申请.
     如果叫MFC做,他在VIEW里面给你一个CDC指针,你只要叫CDC的成员函数帮你TEXTOUT就可以了,句柄它会帮你搞定.

    程序是一个进程,你的程序分配到的内存被包成一个整体,你在程序里得到的指针是从0开始的相对指针,句柄是绝对指针.句柄是在你向WINDOWS对话的时候用的.平时自己用的时候只要用相对指针就可以了.MFC就是帮你隐藏绝对指针,让你觉得你的世界是从0开始的完美的世界.可偏偏有些时候还是被我们发现,老鸟觉得很自然,新手就困惑了,为什么要用句柄.如果你想让WINDOWS给你做事他用的是句柄,就好比美圆是国际通用的.如果你在自己的程序国家里做什么用用人民币,如果你想用人民币在国外买东西,那就得找银行兑换.MFC也有这样的功能,而且还可以帮你代理做任何事情.就好比网上购物一样,但你进行的是虚拟的操作,你看到的也只是产品的图片.

 

 

阅读(2976) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册