//-----------------------------------------------------------------------------
//----- acrxEntryPoint.cpp
//-----------------------------------------------------------------------------
#include "StdAfx.h"
#include "opmext.h"
#include "resource.h"
//-----------------------------------------------------------------------------
#define szRDS _RXST("")
//-----------------------------------------------------------------------------
//----- ObjectARX EntryPoint
class CGetOPMNameApp : public AcRxArxApp {
public:
CGetOPMNameApp() : AcRxArxApp() {}
virtual AcRx::AppRetCode On_kInitAppMsg(void *pkt) {
AcRx::AppRetCode retCode = AcRxArxApp::On_kInitAppMsg(pkt);
return (retCode);
}
virtual AcRx::AppRetCode On_kUnloadAppMsg(void *pkt) {
AcRx::AppRetCode retCode = AcRxArxApp::On_kUnloadAppMsg(pkt);
return (retCode);
}
virtual void RegisterServerComponents() { }
static void RivilisGetOPMName() {
ads_name en; ads_point pt;
CLSID clsid;
LPOLESTR pbstrName;
if (acedEntSel(L"\nSelect entity: ", en, pt) == RTNORM)
{
AcDbObjectId id; acdbGetObjectId(id, en);
AcDbEntityPointer pEnt(id);
if (pEnt.openStatus() == Acad::eOk)
{
if (pEnt->getClassID(&clsid) == Acad::eOk)
{
CComQIPtr<IOPMPropertyExtension> OPEHelper;
OPEHelper.CoCreateInstance(clsid);
HRESULT hr = S_OK;
if (OPEHelper)
{
// Magic number 0x401
hr = OPEHelper->GetDisplayName(0x401, &pbstrName);
if (SUCCEEDED(hr) && pbstrName)
{
acutPrintf(L"\nName = \"%s\"", pbstrName);
}
}
}
}
}
}
};
//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(CGetOPMNameApp)
ACED_ARXCOMMAND_ENTRY_AUTO(CGetOPMNameApp, Rivilis, GetOPMName, GetOPMName, ACRX_CMD_MODAL, NULL)
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
