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

  • 相关阅读:
    为上次写的框架加了一个辅助功能
    复制文件夹下所有文件
    进制之间的相互转换
    c# 修改appConfig文件节点
    GUID
    太悲哀了
    poj2411 Mondriaan's Dream
    poj3311 Hie with the Pie
    HDU3001 Travelling
    luogu p2622关灯问题II
  • 原文地址:https://www.cnblogs.com/zhanjxcom/p/4428452.html
Copyright © 2011-2022 走看看