📄 sdt.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 + -