⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdt.cpp

📁 AotoCAD平台下的结构设计工具
💻 CPP
字号:
// Sdt.cpp : Defines the initialization routines for the DLL.

/////////////////////////////////////////////////////////////////////////////
// Part 1
#include "stdafx.h"
#include "Sdt.h"
#include <aced.h>
#include <adslib.h>

#include "sdt06.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// CSdtApp
BEGIN_MESSAGE_MAP(CSdtApp, CWinApp)
	//{{AFX_MSG_MAP(CSdtApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

// CSdtApp construction
CSdtApp::CSdtApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

// The one and only CSdtApp object
CSdtApp theApp;

//
extern "C" HWND adsw_acadMainWnd();
extern "C" HINSTANCE _hdllInstance;
static HWND hWndACAD = NULL;
extern BOOL APIENTRY DllMain(HINSTANCE, DWORD, LPVOID);

void loadApp();
void InitMFC();
void EndMFC();                
void unloadApp();

void SDT();//SDT主对话框
////////////
extern int zz(); extern int zx();extern int zs();
extern int ze(); extern int zd();
extern int th(); extern int tv();
extern int mh(); extern int mv();

void callzz(); void callzx();void callzs();
void callze(); void callzd();
void callth(); void calltv();
void callmh(); void callmv();

/////////////////////////////////////////////////////////////////////////////
// Part 2

// Entry point
extern "C" AcRx::AppRetCode acrxEntryPoint( AcRx::AppMsgCode msg, void* pkt)
{
  switch( msg ) 
  {
    case AcRx::kInitAppMsg: 
	  acrxDynamicLinker->unlockApplication(pkt);
      loadApp(); 
      break;
    case AcRx::kUnloadAppMsg: 
      unloadApp(); 
      break;
    default:
      break;
  }
  return AcRx::kRetOK;
}

/////////////////////////////////////////////////////////////////////////////
// Part 3

// MFC Initialization
void InitMFC()
{
    DllMain(_hdllInstance, DLL_PROCESS_ATTACH, NULL);
	hWndACAD = adsw_acadMainWnd();
}

void EndMFC()
{
    DllMain(_hdllInstance, DLL_PROCESS_DETACH, NULL);
}

/////////////////////////////////////////////////////////////////////////////
// Part 4

void loadApp()
{
  InitMFC();
  acedRegCmds->addCommand( "SDT1", "SDT", "SDT",
  				ACRX_CMD_MODAL, &SDT);
  
  acedRegCmds->addCommand( "SDT5", "zz", "zz",
  				ACRX_CMD_MODAL, &callzz);
  acedRegCmds->addCommand( "SDT5", "zx", "zx",
  				ACRX_CMD_MODAL, &callzx);
  acedRegCmds->addCommand( "SDT5", "zs", "zs",
  				ACRX_CMD_MODAL, &callzs);
  acedRegCmds->addCommand( "SDT5", "ze", "ze",
  				ACRX_CMD_MODAL, &callze);
  acedRegCmds->addCommand( "SDT5", "zd", "zd",
  				ACRX_CMD_MODAL, &callzd);

  acedRegCmds->addCommand( "SDT6", "th", "th",
  				ACRX_CMD_MODAL, &callth);
  acedRegCmds->addCommand( "SDT6", "tv", "tv",
  				ACRX_CMD_MODAL, &calltv);
  acedRegCmds->addCommand( "SDT6", "mh", "mh",
  				ACRX_CMD_MODAL, &callmh);
  acedRegCmds->addCommand( "SDT6", "mv", "mv",
  				ACRX_CMD_MODAL, &callmv);

  //ads_printf( "\nEnter \"Sdt\" 进行结构计算.\n" );
}

/////////////////////////////////////////////////////////////////////////////
// Part 5

void unloadApp()
{
  acedRegCmds->removeGroup( "SDT1" );
  acedRegCmds->removeGroup( "SDT5" );
  acedRegCmds->removeGroup( "SDT6" );
  EndMFC();
}

/////////////////////////////////////////////////////////////////////////////
// Part 6
////// SDT1

void SDT()
{
 Csdt06 Dlg06(CWnd::FromHandle(hWndACAD));
 Dlg06.DoModal();
}


////// SDT5 
void callzz()  { zz(); }
void callzx()  { zx(); }
void callzs()  { zs(); }
void callze()  { ze(); }
void callzd()  { zd(); }
////// SDT6 
void callth()  { th(); }
void calltv()  { tv(); }
void callmh()  { mh(); }
void callmv()  { mv(); }



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -