Author Topic: system command such as ".erase" do not use acedSSGet()?  (Read 751 times)

0 Members and 1 Guest are viewing this topic.

xinxirong

  • Mosquito
  • Posts: 11
system command such as ".erase" do not use acedSSGet()?
« on: March 09, 2016, 07:48:18 pm »
I want to set a keyword to ssget like this:

acedSSGet(_T("_:K"), promptPtrs,kwordlist,NULL,ssName)

for lisp function (ssget) ,I hook the  acedSSGet and set the keyword "_:K",but i find the "erase" command do not use acedSSGet,which function will use ?

Now I have research out:the "erase" command will pause in beginSSGet,but not in acedSSGet.
the Lisp function (ssget) will first  call acedSSGet ,then call beginSSGet
the question is how can i modify the const TCHAR *pSSControls?

void
   rongge_acedSSGet::beginSSGet(const TCHAR*  pPrompt,
   int  initGetFlags,
   const TCHAR* pKeywords,
   const TCHAR* pSSControls, // str in ADS
   const AcArray<AcGePoint3d>& points,
   const resbuf* entMask)
« Last Edit: March 11, 2016, 04:33:37 am by xinxirong »

owenwengerd

  • Bull Frog
  • Posts: 433
Re: system command such as ".erase" do not use acedSSGet()?
« Reply #1 on: March 11, 2016, 08:10:25 am »
Maybe you would have better luck hooking the AcDbHostApplicationServices::displayString() function.