IDC_STATIC 在resource.h 文件中意味着什么?

2024-02-10

我有一个由 VS 2012 生成的简单 Win32 项目。resource.h文件,我看到了这个:

#ifndef IDC_STATIC
#define IDC_STATIC              -1
#endif

我发现它在几个地方被引用resource.rc文件。但我无法理解这意味着什么。我在网上也没有找到有关它的参考资料。任何想法?


通过调用创建子控件时CreateWindowEx https://msdn.microsoft.com/en-us/library/windows/desktop/ms632680.aspx,你必须分配一个控件ID(通过重载hMenu范围)。控件 ID 稍后可用于引用控件,而无需存储动态创建的控件HWND(例如,当调用GetDlgItem https://msdn.microsoft.com/en-us/library/windows/desktop/ms645481.aspx or GetDlgItemInt https://msdn.microsoft.com/en-us/library/windows/desktop/ms645485.aspx).

Some controls rarely need to be identified in code. A prominent example is the Static Control https://msdn.microsoft.com/en-us/library/windows/desktop/bb760769.aspx1, that, if defined in a resource script, usually does not need to be referenced in code. You (or the dialog manager) still need to pass a control ID when creating the control, even though you don't use it later on. For those controls you can pass the IDC_STATIC control ID, that is defined in a wizard-generated Resource.h file2.


1 Other examples include the Icon Control https://msdn.microsoft.com/en-us/library/windows/desktop/aa369208.aspx (a static control with the SS_ICON style), the Line Control https://msdn.microsoft.com/en-us/library/windows/desktop/aa369760.aspx (a static control with the SS_ETCHEDHORZ and SS_SUNKEN styles), or the GroupBox Control https://msdn.microsoft.com/en-us/library/windows/desktop/aa368766.aspx.

2 This is not a convention of the Windows API3. It is strictly a decision made by user code. You could use another ID value, or not define IDC_STATIC at all if you want, and use an integer literal in the LTEXT control statement https://msdn.microsoft.com/en-us/library/windows/desktop/aa381021.aspx instead: LTEXT "Filename", -1, 10, 10, 100, 100

3 Granted, the SDK header winres.h does define the preprocessor symbol IDC_STATIC as (-1), so if you do define it in your code, make sure to assign the same value to avoid any confusion.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDC_STATIC 在resource.h 文件中意味着什么? 的相关文章

随机推荐

  • 使用 NSURL 访问保存照片中的图像并上传到 S3 的正确方法?

    我正在使用此代码将图像上传到 S3 AWSS3TransferManager transferManager AWSS3TransferManager defaultS3TransferManager AWSS3TransferManage
  • MFC应用程序可以在Windows以外的操作系统上运行吗?

    我需要使用 VC MFC 创建一个基于对话框的 GUI 我确信它可以在 Windows 操作系统上运行 但是它可以在 Linux Unix 或 Windows 以外的其他操作系统上运行吗 QT 是一个不错的选择吗 从源代码角度来看 使用 M
  • 使用 PHP 获取字母表中下一个字母的最有效方法

    给定从 a 到 z 的任何字符 使用 PHP 获取字母表中下一个字母的最有效方法是什么 最有效的方法是在my意见是只是增加字符串变量 str a echo str prints b str z echo str prints aa 如所见递
  • 为什么我无法从 pypi 安装 PyQt5?

    我想在pycharm中使用PyQt5 尝试从可用软件包安装软件包后 出现错误 安装软件包失败 安装软件包 PyQt5 时发生错误 完整的日志在这里 C Program Files x86 JetBrains PyCharm 3 0 1 he
  • servlet容器和spring容器有什么区别? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Servlet容器和Spring容器的作用和职责是什么 请有人澄清我的疑问 即使它们的名称相似 它们也是非常不同的概念 A 小服务程序
  • 获取从当前位置(地理位置)到预定义目的地的路线

    诺格我有以下页面 其中包含前往预定义目的地的路线 示例说明 https www checkjevoeding be uitstap get map uitrestroute php id 9 这与以下代码完美配合 h3 My Google
  • Excel VBA Excel 2016中按多个条件进行多行排序

    从此线程继续 具有多个标准排名的动态数据验证下拉列表 https stackoverflow com questions 51198558 dynamic data valdiation drop downs with multiple c
  • 设计:可锁定 - last_attempt_warning 不显示

    我正在尝试实施 lockable模块到我的设备如下这个维基 https github com plataformatec devise wiki How To Add lockable to Users但遇到了一些问题 在开发过程中 当登录
  • 开发一个移动聊天室,后端使用XMPP还是WebSocket?

    移动聊天室的一些要求 应该能够无缝地处理客户端由于移动网络而频繁连接 断开的情况 节省带宽 减少开销 我没有 XMPP 经验 我只使用过 Node JS 服务器 使用 JavaScript 很容易设置和破解服务器 但似乎 XMPP 是聊天室
  • 关于通过引用传递指针的说明

    这有点愚蠢 但我无法真正解释为什么会发生这种情况 作为练习 我想反转单链表 我通过定义方法来做到这一点 class solution void reverseLinkedList Node head Node curr head Node
  • 在 C# 中使用尽可能小的数字签名对消息进行签名

    我工作的公司想要创建某种注册流程 最后用户必须输入密钥才能激活他的产品 我已经搜索并找到了一些解释如何生成密钥的来源 其中之一 如何生成和验证软件许可证密钥 https stackoverflow com questions 599837
  • 在 MySQL 中创建链表或类似队列?

    我有一个需要按特定顺序显示的项目表 但该顺序可以更改 可以在开头 结尾或中间添加项目 并且可以重新排列项目 如何设置表来跟踪该顺序 以便易于修改 但也可以通过单个查询按顺序获取列表 例如 我可以有一个 NEXT ID 列来执行链接列表样式
  • 自定义 ImageView 类不适用于 Picasso 图像下载库

    我最近从 ImageView 扩展创建了 CircularImageView 类 该类使图像成为带有彩色边框的圆形 这是通过 onDraw canvas 方法通过在传入的画布上绘图来完成的 load the bitmap loadBitma
  • 如何在基于 MFC 对话框的应用程序中捕获复选框的 MouseMove 事件?

    我的应用程序是一个基于 VC6 MFC 对话框的应用程序 具有多个属性页 我必须捕获控件上的鼠标移动事件 例如复选框 如何捕获 MFC 中复选框上的 mousemove 事件 复选框是一个按钮控件 例如 CWnd 从 CCheckBox 派
  • Java代码需要system.out.println语句才能运行[重复]

    这个问题在这里已经有答案了 我想知道是否还有其他人遇到过这个问题 我的游戏中的这一部分代码依赖于 system out println 语句来工作 没有它 它将无法正常工作 while isladder t Map tiles int Pl
  • Typescript:在子方法中覆盖父类的静态工厂方法

    我在使用 Typescript 进行依赖注入时遇到了一些问题 在每个类上 我添加一个工厂静态方法 其中设置了所有依赖项 我这样做是出于测试目的 以便我仍然能够使用 TDD 方法 现在我在子类中重写父类的工厂方法时遇到了一些问题 例子 int
  • 如何访问 JavaScript 类之外的类属性

    为什么这个 JavaScript 类中的 sound 属性没有正确私有 另外 如何在课堂之外访问它 我在视频中看到了这一点 并尝试在课堂外访问声音属性 但无法访问 class Dog constructor this sound woof
  • 我如何检查 python 中的 keyhold

    我需要检查电脑上是否按下了箭头键 并在按住箭头键的同时执行某些操作 例如如果 如果按住向上箭头 控制台将打印 上 上 上 上 直到被释放 我怎样才能做到这一点 我尝试了一些库 但每个库似乎都只记录了一次点击 但没有记录重复的按住 谢谢你 您
  • 带有 LIMIT 的多个 WHERE MySQL

    使用 PHP 是否可以从 MySQL 数据库中的一个表中选择多行 其中不同的 WHERE 子句对每个 WHERE 子句都有特定的 LIMIT 例如 SELECT FROM the table WHERE color blue LIMIT 5
  • IDC_STATIC 在resource.h 文件中意味着什么?

    我有一个由 VS 2012 生成的简单 Win32 项目 resource h文件 我看到了这个 ifndef IDC STATIC define IDC STATIC 1 endif 我发现它在几个地方被引用resource rc文件 但