display.cpp
上传用户:qie0807
上传日期:2014-09-18
资源大小:413k
文件大小:3k
源码类别:

CAD

开发平台:

Visual C++

  1. // display.cpp : Initialization functions
  2. #include "StdAfx.h"
  3. #include "StdArx.h"
  4. #include "resource.h"
  5. #include <afxdllx.h>
  6. #include "disdialog.h"
  7. HINSTANCE _hdllInstance =NULL ;
  8. // This command registers an ARX command.
  9. void AddCommand(const char* cmdGroup, const char* cmdInt, const char* cmdLoc,
  10. const int cmdFlags, const AcRxFunctionPtr cmdProc, const int idLocal = -1);
  11. // NOTE: DO NOT edit the following lines.
  12. //{{AFX_ARX_MSG
  13. void InitApplication();
  14. void UnloadApplication();
  15. //}}AFX_ARX_MSG
  16. void diswindow();
  17. // NOTE: DO NOT edit the following lines.
  18. //{{AFX_ARX_ADDIN_FUNCS
  19. //}}AFX_ARX_ADDIN_FUNCS
  20. ////////////////////////////////////////////////////////////////////////////
  21. //
  22. // Define the sole extension module object.
  23. AC_IMPLEMENT_EXTENSION_MODULE(DisplayDLL);
  24. // Now you can use the CAcModuleRecourceOverride class in
  25. // your application to switch to the correct resource instance.
  26. // Please see the ObjectARX Documentation for more details
  27. /////////////////////////////////////////////////////////////////////////////
  28. // DLL Entry Point
  29. extern "C"
  30. BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
  31. {
  32. if (dwReason == DLL_PROCESS_ATTACH)
  33. {
  34.         _hdllInstance = hInstance;
  35. // Extension DLL one time initialization
  36. DisplayDLL.AttachInstance(hInstance);
  37. InitAcUiDLL();
  38. } else if (dwReason == DLL_PROCESS_DETACH) {
  39. // Terminate the library before destructors are called
  40. DisplayDLL.DetachInstance();
  41. }
  42. return TRUE;    // ok
  43. }
  44. /////////////////////////////////////////////////////////////////////////////
  45. // ObjectARX EntryPoint
  46. extern "C" AcRx::AppRetCode 
  47. acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
  48. {
  49. switch (msg) {
  50. case AcRx::kInitAppMsg:
  51. // Comment out the following line if your
  52. // application should be locked into memory
  53. acrxDynamicLinker->unlockApplication(pkt);
  54. acrxDynamicLinker->registerAppMDIAware(pkt);
  55. InitApplication();
  56. break;
  57. case AcRx::kUnloadAppMsg:
  58. UnloadApplication();
  59. break;
  60. }
  61. return AcRx::kRetOK;
  62. }
  63. // Init this application. Register your
  64. // commands, reactors...
  65. void InitApplication()
  66. {
  67. // NOTE: DO NOT edit the following lines.
  68. //{{AFX_ARX_INIT
  69. AddCommand("DISWIN","DISWINDOW","DISWINDOW",ACRX_CMD_MODAL,diswindow);
  70. // TODO: add your initialization functions
  71. acutPrintf("nTypt "DISWINDOW" to execute");
  72. }
  73. // Unload this application. Unregister all objects
  74. // registered in InitApplication.
  75. void UnloadApplication()
  76. {
  77. // NOTE: DO NOT edit the following lines.
  78. //{{AFX_ARX_EXIT
  79. acedRegCmds->removeGroup("DISWIN");
  80. //}}AFX_ARX_EXIT
  81. // TODO: clean up your application
  82. }
  83. // This functions registers an ARX command.
  84. // It can be used to read the localized command name
  85. // from a string table stored in the resources.
  86. void AddCommand(const char* cmdGroup, const char* cmdInt, const char* cmdLoc,
  87. const int cmdFlags, const AcRxFunctionPtr cmdProc, const int idLocal)
  88. {
  89. char cmdLocRes[65];
  90. // If idLocal is not -1, it's treated as an ID for
  91. // a string stored in the resources.
  92. if (idLocal != -1) {
  93. // Load strings from the string table and register the command.
  94. ::LoadString(_hdllInstance, idLocal, cmdLocRes, 64);
  95. acedRegCmds->addCommand(cmdGroup, cmdInt, cmdLocRes, cmdFlags, cmdProc);
  96. } else
  97. // idLocal is -1, so the 'hard coded'
  98. // localized function name is used.
  99. acedRegCmds->addCommand(cmdGroup, cmdInt, cmdLoc, cmdFlags, cmdProc);
  100. }