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基本上没有作用。

  • 相关阅读:
    POJ 2823 Sliding Window & Luogu P1886 滑动窗口
    Luogu P2970 [USACO09DEC]自私的放牧
    Luogu P2922 秘密消息
    Luogu P3353 在你窗外闪耀的星星
    Luogu P2580 于是他错误的点名开始了
    Floyd详解
    高精度模板
    51Nod P1100 斜率最大
    洛谷——P1025 数的划分
    洛谷——P1063 能量项链
  • 原文地址:https://www.cnblogs.com/zhanjxcom/p/4428452.html
Copyright © 2011-2022 走看看