笑看风云淡

宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒
posts - 96, comments - 48, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

控件句柄和控件ID的区别

Posted on 2009-09-17 10:37 天之骄子 阅读(1566) 评论(3)  编辑 收藏 引用
打个比喻:
你的家庭现在就好比是一个程序(窗体也是程序的一部分,实际窗体、控件都是由命令语句动态构建的,只是省了你自己写代码而已),控件ID就好像你的名字,一般一个家庭(程序)里的众多成员(控件)之间是不会重名的,每个人在自己家(程序)里的名字(控件ID)都是唯一的,当你的家人(程序代码)需要找你,叫你名字的时候就直接称呼你的名字(控件ID)。
但是全国无数个家庭,就可能会有重名了吧,于是政府(系统)就不管你的名字(控件ID)是什么,直接分配给每个人(控件)一个身份证号码(句柄),公安局(其他程序)来找你(一个控件)的时候就使用你的身份证号(句柄)来保证在全国(内存)范围里也不会把你弄错。
每个家庭组成以后(运行了一个新程序),生下了小宝宝(构建新的控件)就会得到一个全国(内存)唯一的一个身份证号(句柄),以保证在国内(内存)的唯一性。当一个家庭的成员寿终正寝(控件销毁)的时候,身份证号码(句柄)同时被作废(系统收回,以后分配给新产生的控件)。

Feedback

# re: 控件句柄和控件ID的区别[未登录]  回复  更多评论   

2009-11-01 22:17 by clare
为什么我只定义了一个Button按钮,还没有创建,它的句柄就不为空了呢?

# re: 控件句柄和控件ID的区别  回复  更多评论   

2009-11-30 09:38 by 天之骄子
@clare
是啊,就是这样啊

# re: 控件句柄和控件ID的区别[未登录]  回复  更多评论   

2012-05-18 09:35 by zy
哦,很形象啊!

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理