CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

CAcModuleResourceOverride 类

2024-5-18 19:00| 发布者: admin| 查看: 15| 评论: 0|原作者: admin|来自: AutoCAD

CAcModuleResourceOverride 类

使用此类的实例在资源提供程序之间切换。构造对象时,将切换新的资源提供程序。销毁后,将恢复原始资源提供程序。示例代码如下:

void MyFunc ()
{
    CAcModuleResourceOverride myResources;
}

进入此功能后,将选择模块的资源。当函数返回时,将恢复默认资源。可以通过以下任一方式选择资源覆盖:

  • 使用默认构造函数(无参数),或将 (或 0) 传递给构造函数。将选择 DLL 的资源。调用析构函数时,将还原默认资源。DLL 和默认资源句柄由 DLL 的 .NULLCAcModuleResourceOverrideCAcExtensionModule
  • 将非句柄传递给构造函数。将选择与给定句柄关联的模块的资源。调用析构函数时,将还原默认资源。NULLCAcModuleResourceOverride

两个宏 — 和 — 有助于定义和实现应用程序中的类。AC_DECLARE_EXTENSION_MODULEAC_IMPLEMENT_EXTENSION_MODULE

以下代码说明了如何在 ObjectARX 应用程序中使用 and 类:CAcExtensionModuleCAcModuleResourceOverride

AC_IMPLEMENT_EXTENSION_MODULE(theArxDLL);
HINSTANCE _hdllInstance = NULL;
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
    // Remove this if you use lpReserved
    UNREFERENCED_PARAMETER(lpReserved);
    if (dwReason == DLL_PROCESS_ATTACH)
    {
        theArxDLL.AttachInstance(hInstance);
        hdllInstance = hInstance;
    }
    else if (dwReason == DLL_PROCESS_DETACH)
    {
        theArxDLL.DetachInstance();  
    }
    return 1;   // ok
}

父主题:

  1. 资源管理

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 15:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部