edattdb2.cpp
上传用户:detv0711
上传日期:2014-09-18
资源大小:360k
文件大小:4k
源码类别:

CAD

开发平台:

Visual C++

  1. // edattdb2.cpp : Initialization functions
  2. #include "StdAfx.h"
  3. #include "StdArx.h"
  4. #include "resource.h"
  5. #include <afxdllx.h>
  6. #include "attdlg.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. // NOTE: DO NOT edit the following lines.
  17. //{{AFX_ARX_ADDIN_FUNCS
  18. //}}AFX_ARX_ADDIN_FUNCS
  19. void dbptview();
  20. ////////////////////////////////////////////////////////////////////////////
  21. //
  22. // Define the sole extension module object.
  23. AC_IMPLEMENT_EXTENSION_MODULE(Edattdb2DLL);
  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. Edattdb2DLL.AttachInstance(hInstance);
  37. InitAcUiDLL();
  38. } else if (dwReason == DLL_PROCESS_DETACH) {
  39. // Terminate the library before destructors are called
  40. Edattdb2DLL.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("EDPT","DBPTVIEW","DBPTVIEW",ACRX_CMD_MODAL,dbptview);
  70. //}}AFX_ARX_INIT
  71. // TODO: add your initialization functions
  72. acutPrintf("nEnter "dbptview" to execute.");
  73. }
  74. // Unload this application. Unregister all objects
  75. // registered in InitApplication.
  76. void UnloadApplication()
  77. {
  78. // NOTE: DO NOT edit the following lines.
  79. //{{AFX_ARX_EXIT
  80. acedRegCmds->removeGroup("EDPT");
  81. //}}AFX_ARX_INIT
  82. // TODO: add your initialization functions
  83. }
  84. // This functions registers an ARX command.
  85. // It can be used to read the localized command name
  86. // from a string table stored in the resources.
  87. void AddCommand(const char* cmdGroup, const char* cmdInt, const char* cmdLoc,
  88. const int cmdFlags, const AcRxFunctionPtr cmdProc, const int idLocal)
  89. {
  90. char cmdLocRes[65];
  91. // If idLocal is not -1, it's treated as an ID for
  92. // a string stored in the resources.
  93. if (idLocal != -1) {
  94. // Load strings from the string table and register the command.
  95. ::LoadString(_hdllInstance, idLocal, cmdLocRes, 64);
  96. acedRegCmds->addCommand(cmdGroup, cmdInt, cmdLocRes, cmdFlags, cmdProc);
  97. } else
  98. // idLocal is -1, so the 'hard coded'
  99. // localized function name is used.
  100. acedRegCmds->addCommand(cmdGroup, cmdInt, cmdLoc, cmdFlags, cmdProc);
  101. }
  102.   
  103. void dbptview()
  104. {
  105.  CAcModuleResourceOverride resOverride;
  106.     attdlg dlg(CWnd::FromHandle(adsw_acadMainWnd()));
  107.    if(dlg.DoModal()==IDOK)
  108. {
  109. acutPrintf("naccessful");
  110.    }
  111. }