zoukankan      html  css  js  c++  java
  • 对象、句柄、ID之间的区别

    对象是C++的概念,C++的类对象

    句柄是Windows SDK的概念,指向某种资源的一种“指针”(有时候底层不一定是指针)

    资源ID在MFC里仅仅是一个宏,也就是个整数。

      其实,句柄是控件在数据结构上的外部标识代理,因为不便于通过内存指针暴露(防止用户通过指针越权修改,暴露细节,同时破坏黑盒式的封装)用户,所以便通过一个代理指针,即句柄来代理一个windows对象,可以近似的把句柄理解为一个指针,但是该指针不暴露内存细节,只是一个代理而已。

    ID是用户定义的值,句柄是系统生成并管理的。

    ID的作用有哪些呢?ID是一个宏  在你创建该组件的时候  由IDE自动生成的。
    对于顶级窗口,ID不存在,它的含义变成了HMENU,窗口拥有的菜单句柄。
    对于子窗口,ID在创建窗口时就能随意指定,可以相同,也可以不同,可以调用 GetDlgItem 检索ID对应的窗口句柄。但ID在某些特殊情形下有特殊含义,当子窗口是 RADIO 类型时,多个RADIO需要分配相同的ID(且属于同一个GROUP)才被认为是一组单选项,否则这些单选项各自独立。除此之外,ID基本上没有作用。

  • 相关阅读:
    iconv 文件编码转换
    source insight 中文注释为乱码解决
    c: c代码书写规范
    Ubuntu: 搭建tftp,nfs服务器
    Linux: 信息查看
    liteos时间管理(九)
    最大连续子数列和
    递归为什么那么慢?递归的改进算法
    liteos信号量(八)
    liteos互斥锁(七)
  • 原文地址:https://www.cnblogs.com/zhanjxcom/p/4428452.html
Copyright © 2011-2022 走看看