acedSSGet关键字:K示例代码

resbuf* ssCallback(const TCHAR* kword)

{

CAcModuleResourceOverride res;

GTextBrushDialog dlg(CWnd::FromHandle(adsw_acadMainWnd()));  dlg.DoModal();

return NULL;

}

//代码如下

resbuf* (*oldFunc) (const ACHAR*);

acedSSGetKwordCallbackPtr(&oldFunc);

acedSSSetKwordCallbackPtr(ssCallback);

resbuf* rb = acutBuildList(RTDXF0, _T(“TEXT,MTEXT”), 0);

ads_name ssName;

TCHAR* promptPtrs[2]={_T(“\n选择样本文字[设置(S)]:”),_T(“\n移除样本文字:”)};

acedInitGet(RSG_NONULL,_T(“S”));  //特别注意必须初始化输入内容,最初我就是因为少这个而导致执行错误

ACHAR kwordlist[] = { _T(“S _ S”) };

int rc=acedSSGet(_T(“:$:S:K”), promptPtrs,kwordlist,rb,ssName);

if(rc!=RTNORM)

{

acutRelRb(rb);

acedSSSetKwordCallbackPtr(*oldFunc);

return;

}

acutRelRb(rb);

acedSSSetKwordCallbackPtr(*oldFunc);

此条目发表在ObjectArx分类目录。将固定链接加入收藏夹。

发表评论