亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

能幫忙完成這個程序嗎?謝謝大家

能幫忙完成這個程序嗎?謝謝大家

C++
慕田峪4524236 2022-07-14 16:11:56
// ArxMFC.cpp : Defines the initialization routines for the DLL.//#include "stdafx.h"#include <afxdllx.h>#include "ArxMFC.h"#include "ArxMFCdlg.h"#include "AcExtensionModule.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifextern "C" HWND adsw_acadMainWnd();AC_IMPLEMENT_EXTENSION_MODULE(theArxDLL);void dialogCreate(){ArxMFCdlg dlg(CWnd::FromHandle(adsw_acadMainWnd()));int nReturnValue=dlg.DoModal();}static void initApp(){CAcModuleResourceOverride resOverride;acedRegCmds->addCommand("ACUISAMPLE","arxmfc","arxmfc",ACRX_CMD_MODAL,dialogCreate,NULL,-1,theArxDLL.ModuleResourceInstance());}void unloadApp(){acedRegCmds->removeGroup("ACUISAMPLE");}extern "C" int APIENTRYDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved){UNREFERENCED_PARAMETER(lpReserved);if (dwReason == DLL_PROCESS_ATTACH){theArxDLL.AttachInstance(hInstance);}else if (dwReason == DLL_PROCESS_DETACH){theArxDLL.DetachInstance();}return 1;}extern "C"AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg,void* pkt){switch(msg){case AcRx::kInitAppMsg:acrxDynamicLinker->unlockApplication(pkt);acrxDynamicLinker->registerAppMDIAware(pkt);initApp();break;case AcRx::kUnloadAppMsg:unloadApp();break;case AcRx::kInitDialogMsg:break;}return AcRx::kRetOK;}
查看完整描述

1 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

void dialogCreate()
{
ArxMFCdlg dlg(CWnd::FromHandle(adsw_acadMainWnd()));
int nReturnValue=dlg.DoModal();
}
這個是創建對話框的,如果你按下值為nReturnValue的按鈕時擺弄創建一對話框
static void initApp()
{
CAcModuleResourceOverride resOverride;
acedRegCmds->addCommand("ACUISAMPLE","arxmfc","arxmfc",ACRX_CMD_MODAL,dialogCreate,NULL,-1,theArxDLL.ModuleResourceInstance());
}
這段是初始化工程的
void unloadApp()
{
acedRegCmds->removeGroup("ACUISAMPLE");
}
退出工程
switch(msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxDynamicLinker->registerAppMDIAware(pkt);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
case AcRx::kInitDialogMsg:
break;
}
return AcRx::kRetOK;
這段是一個SWITCH判斷,先初始化APP,如果接受的信息是UnloadApp 當然就執行unloadApp,如果接收到InitDialog的話就不執行操作,最后返回kRetOK的值


查看完整回答
反對 回復 2022-07-18
  • 1 回答
  • 0 關注
  • 220 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號