渴望飞翔
Fly in the C++ Sky...
posts - 9,  comments - 6,  trackbacks - 0

最近在写一些关于MFC的东西,是因为做了些MFC的项目,一些零散的东西需要总结一下。但这并不代表我有些喜欢他了,其实还是蛮讨厌的。毕竟看了.Net Framework,再看N多年前的MFC,多少是有些不顺眼的。机理上的东西不敢多说,有些变量和方法名字的设置,站在FCL的设计角度看了,多少觉得有些不爽。也许是我太弱,也许是因为它的设计上考虑还是没有足够的经验,列举一些,娱乐娱乐。

1. 在构造一个自定义的Dialog对象时,我们会传入一个CWnd的指针进去,那个名为pParent的对象。但当我在Dialog中调用GetParent函数的时候,无论传进的是什么指针(比如CYourView),得到的返回值都是指向CMainFrame的指针。曾经由于这个我调了N久的程序,我承认这是由于我对MFC的了解不够造成的,但这名字也太具有迷惑性了吧。

2. 当然还有臭名昭著的UpdateData函数,很荣幸在这点上我和大师一样,每次用到的时候都要停下来查看一下才能分清楚那个诡异的bool变量的意义。也许这在有IDE的时候不是问题,但问题是我看书的时候就会很麻烦了。分离成两个明确命名的函数,也许会好很多。

3. ShowWindow。恩就是它。看到这个名字,不熟悉MFC的人应该都会觉得它是用来显示一个窗口的。但...,其实它兼有显示和隐藏窗口的功能,决定这一切的又是一个诡异的bool量...

4. MoveWindow和SetWindowPos。这一对不够专注的兄弟。它们太强大了,所能做的事远不止Move和SetPos那么简单,当我想改变一个窗体大小的时候,我翻来覆去的找函数,万万没想到,原来是这对名不副实的兄弟的工作,Faint...

5. GetWindowRect和GetClientRect。其实他们也许没有问题,有问题的是我,我不喜欢用引用量代替一个貌似应该由返回值完成的东西...

6. SelectObject。为什么你传入一个新的Object,它返回一个老的Object呢?不止我一个人,很多人都被这个搞晕过,其实我也不明白,一个函数做两个函数的事,这确实有点热心过度了吧...

7. afx_msg。一个永远都没被用到的预留量,这样的东西在MFC中有很多...



duguguiyu 2007-06-21 23:18 发表评论

文章来源:http://www.cnblogs.com/duguguiyu/archive/2007/06/21/792426.html
posted on 2007-06-21 23:18 duguguiyu 阅读(208) 评论(0)  编辑 收藏 引用 所属分类: MFC

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


Welcome to my c++ home...

<2007年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(1)

随笔分类(9)

随笔档案(9)

搜索

  •  

积分与排名

  • 积分 - 10338
  • 排名 - 1144

最新评论

阅读排行榜

评论排行榜