原生包装
仍然有很多事情要做,但我已经到了可以炫耀的地步static void RxlRxLib_doit(void)
{
CPromptStringOptions promptStringOptions(_T("\nGet String"));
promptStringOptions.UseDefaultValue = true;
promptStringOptions.DefaultValue = _T("default");
CPromptResult promptStringResult;
CEditor::GetString( promptStringResult,promptStringOptions);
if(promptStringResult.Status == Acad::eNormal)
{
acutPrintf(promptStringResult.StringResult);
}
else
{
acutPrintf(_T("\nError: %s"),
CRxTrace::PromptSatusText(promptStringResult.Status));
}
}
tatic void RxlRxLib_doit(void)
{
CPromptDoubleOptions promptDoubleOptions(_T("\nEnter number"));
promptDoubleOptions.UseDefaultValue = true;
promptDoubleOptions.DefaultValue = 8.345;
promptDoubleOptions.AllowArbitraryInput = false;
promptDoubleOptions.AllowZero = false;
promptDoubleOptions.UseRange = true;
promptDoubleOptions.setRange(0.5,10.0);
promptDoubleOptions.Keywords.AddKeyWord(_T("Dan"));
promptDoubleOptions.Keywords.AddKeyWord(_T("Is"));
promptDoubleOptions.Keywords.AddKeyWord(_T("Cool"));
promptDoubleOptions.Keywords.AddKeyWord(_T("Right"));
CPromptDoubleResult promptDoubleResult;
CEditor::GetDouble(promptDoubleResult,promptDoubleOptions);
if(promptDoubleResult.Status == Acad::eNormal)
{
acutPrintf(_T("\nResult Number %g"),promptDoubleResult.Double);
}
else if(promptDoubleResult.Status == Acad::eKeyword)
{
acutPrintf(_T("\nResult String %s"),promptDoubleResult.StringResult);
}
else
{
acutPrintf(_T("\nError: %s"),
CRxTrace::PromptSatusText(promptDoubleResult.Status));
}
}
**** Hidden Message *****
我不介意我再也不用将ads_name转换为objectid
static void RxlRxLib_getEnt(void)
{
CPromptEntityResult result;
CEditor::GetEntity(result, _T("\nSelect Entity: "));
if(result.Status != Acad::eNormal)
{
CRxTrace::PrintStatus(result.Status, _T("Select Failed"));
return;
}
AcDbEntityPointer pEnt(result.ObjectId,AcDb::kForRead);
if(pEnt.openStatus() != Acad::eOk)
{
CRxTrace::PrintStatus(pEnt.openStatus(), _T("Select Failed"));
return;
}
acutPrintf(_T("\nLayer is %s") ,pEnt->layer());
}
Acad::PromptStatus<br>今天学到了一些新东西
嘿嘿,很高兴我能帮助
我总是喜欢.NET API将所有acedxxx函数包装成易于使用的格式的方式,像acedNEntSelP这样的函数可能是一个真正的痛苦,必须将所有ads_xxx项转换为它们的Arx等效项。我开始包装一些旧功能,使它们更加用户友好......当,瞧瞧。我发现它已经在ArcDbg中完成了,我只是在改变一些事情。
那将是ArxDbg,是吗?
那就是ArxDbg,是吗
是的,谢谢
页:
[1]