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

浙公网安备 33010602011771号