【问题标题】:How to get a control custom resource data如何获取控件自定义资源数据
【发布时间】:2011-06-30 07:48:52
【问题描述】:

您可以通过处理 WM_CREATE 和访问 CREATESTRUCT 的 lpCreateParams 成员来获取通用控件自定义资源数据(参见 controlData 部分:http://msdn.microsoft.com/en-us/library/aa380902(v=VS.85).aspx)。控件创建后有什么方法可以访问数据吗?

【问题讨论】:

    标签: c++ winapi visual-c++ resources


    【解决方案1】:

    看来我找到了答案。我们可以使用 FindResource->LoadResource->LockResource 函数来获取指向对话资源数据的指针。 LockResource 返回的指针将指向 DLGTEMPLATEEX 结构。这将允许遍历对话框控件以找到所需的对话框项 (DLGITEMTEMPLATEEX) 并从中提取自定义资源数据

    【讨论】:

    • 我错过了在对话框资源中定义控件(以及其他参数)的位置。我假设您要的是由 CreateWindow() 创建的任何常规窗口/控件。
    • 我找不到DLGTEMPLATEEX 的定义。
    【解决方案2】:

    lpCreateParams 只是一个指针,指向调用者提供的附加创建参数。它不是数据本身。

    窗口/控件的创建者不会保证在创建后保留该数据。

    所以,不。

    【讨论】:

    • 控件的属性是否为无效指针。只要控件存在,它们就可以访问。
    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多