24/03/2014
Как получить текст из окна командной строки AutoCAD с использованием ObjectARX
ObjectARX API содержит функцию acedGetAcadTextCmdLine() которая возвращает доступ к CWnd MFC окна командной строки. Окно командной строки содержит множество дочерних окон (в зависимости от версии AutoCAD) так что нам понадобится пройтись по ним, чтобы найти текст, так что будем использовать Win32 API для итерации по окнам и получения текста.Как-то так…
Код - C++: [Выделить]
- // получаем контейнер CWnd командной строки
- CWnd* pDock = (CWnd*)acedGetAcadTextCmdLine();
- // получаем дочернее окно
- CWnd* pChild = pDock->GetWindow(GW_CHILD);
- // цикл пока есть дочерние окна
- while (pChild!=NULL)
- {
- CString str;
- // получаем текст из окна
- pChild->GetWindowText(str);
- // если нет никакого текста
- if (str.GetLength() <= 0)
- pChild = pChild->GetNextWindow();
- else
- {
- // показываем текст
- MessageBox(NULL, str);
- break;
- }
- }
Обсуждение: http://adn-cis.org/forum/index.php?topic=631
Опубликовано 24.03.2014Отредактировано 24.03.2014 в 21:04:57