Тема: Изменение ContextMenu in AcEdJig

Интересует,  как можно изменить ContextMenu , которое появляется при нажатии на правую клавишу мыши в процессе построения объекта с помощью AcEdJig.
Функции acedAddDefaultContextMenu() и acedAddObjectContextMenu() не изменяют меню
AcEdJig

Re: Изменение ContextMenu in AcEdJig

А прописать ключевые слова в setDispPrompt и setKeywordList не пробовал?

Re: Изменение ContextMenu in AcEdJig

пробовал, но на контекстное меню оно не влияет.
AcEdJig::DragStatus
ENGITubeJig::sampler(void)
{
    DragStatus stat;

    setUserInputControls((UserInputControls)
        (AcEdJig::kAccept3dCoordinates
         | AcEdJig::kGovernedByOrthoMode
         | AcEdJig::kAcceptOtherInputString 
         | AcEdJig::kNoNegativeResponseAccepted
         | AcEdJig::kNullResponseAccepted
         | AcEdJig::kNoZeroResponseAccepted));


    setSpecialCursorType(AcEdJig::kRubberBand);

    //setKeywordList(_T("Horz Vert All None"));

    AcGePoint3d pnt;
    stat = acquirePoint(pnt);
    if (stat == kNormal) {
        if (pnt == mWcsPt2)   {
            return AcEdJig::kNoChange;
        } else {

               mWcsPt2 = pnt;
        }
    }

    switch(stat)
    {
    case kNull:

         POINT cp;
        bool aa=GetCursorPos(&cp);

        CMenu dropMenu;
        dropMenu.CreatePopupMenu();
   
        dropMenu.AppendMenu(MF_ENABLED, 1, _T("Test1") );
        dropMenu.AppendMenu(MF_ENABLED, 2, _T("Test2"));
        dropMenu.AppendMenu(MF_ENABLED, 3, _T("Test3"));

        dropMenu.TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_NONOTIFY | TPM_RETURNCMD, cp.x, cp.y, AcUiMainWindow());
        stat = kNormal;
    }

    return stat ;
}
получется только так, но в данном варианте после вызова меню , построение прерывается.

Re: Изменение ContextMenu in AcEdJig

А так:

setDispPrompt(_T("\nSelect point [Horz/Vert/All/None]"));
setKeywordList(_T("Horz Vert All None"));

:?:

Re: Изменение ContextMenu in AcEdJig

Добавляется, а мне нужно поменять полностью меню.

Re: Изменение ContextMenu in AcEdJig

Ну это можно сделать только хуком на RightClick. И как имитировать вид меню AutoCAD - вот в чем вопрос. smile

Re: Изменение ContextMenu in AcEdJig

Огромное спасибо за помощь. В общем разобрался, если stat не приравнивать kNormal или kNull, то всё работает нормально.