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);


杭州格原