acedGetAcadTextCmdLine(),枚举CAD命令行的子窗口 ObjectARX学习笔记(十二)----AcDbGroup 添加新成员,以及往组里面添加实体

CWnd *wTextCmdLine = acedGetAcadTextCmdLine(); 

if (wTextCmdLine != NULL)

 {

 ::EnumChildWindows(wTextCmdLine->m_hWnd,EnumChildProc,0); 

}

 BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM lParam)

{

WCHAR lpWinTitle[256];

 ::GetWindowText(hWnd,lpWinTitle,256-1); 

CString m_strTitle;

m_strTitle.Format(_T("%s"),lpWinTitle);

MessageBox(NULL,m_strTitle,_T("cwnd"),MB_OK);

WCHAR lpWinTitle2[256];

 ::GetClassName(hWnd,lpWinTitle2,MAX_PATH-1);

MessageBox(NULL,lpWinTitle2,_T("cwnd"),MB_OK);

/*命令行会有三个子窗口*/return true;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AcDbGroup *pGroup = new AcDbGroup;
AcDbObjectId  groupObjectId;
AcDbDictionary  *pGroupDict = NULL;
acdbCurDwg()->getGroupDictionary(pGroupDict, AcDb::kForWrite);
pGroupDict->setAt("GroupName", pGroup, groupObjectId);//在AcdbGroup词典里面添加一项名为GroupName


pGroupDict->close();

//如果想实体添加到组里面 将打开的实体ID传入 组里面就行了
pGroup->append(objectId1);     // objectId1 and objectId2
                                                 // are objId's of the
pGroup->append(objectId2);     // entities which will be in the group.

pGroup->close();
posted @ 2020-03-01 22:47  中国膜结构网mjgou  阅读(345)  评论(0编辑  收藏  举报