Тема: Вызов одной команды из другой
Ой, попытаюсь объяснить проблему. Есть две команды: отрисовка и настройки.
Начнем с "Настройки".
Открывается диалог, в котором человек задает настройки рисования. Также есть кнопочка для перехода в окно акада для указания длины. код ее такой:
// выбор из окна акада double newHeight; BeginEditorCommand(); if (RTNORM == acedGetDist(NULL, _T("\nНовая высота текста: "), &newHeight)) { // Dbl2Str(newHeight,2) - перегоняет из double в std::цыекштп в данном случае точность - 2 знака после запятой m_edtHeight.SetWindowText(Dbl2Str(newHeight,2).c_str());// пишем все в EDITBOX } CompleteEditorCommand();
сама по себе команда работает замечательно!!!
Команда "Отрисовка".
Выбираются объекты с окна акада, потом идет раздвоение - отрисовка или настройки.
Если выбран вариант отрисовка, то происходят какие-то действия в акаде и всё заканчивается благополучно :)
Если выбрали вариант "Настройки", то срабатывает код:
acedCommand (RTSTR, _T("настройки"),0); // естественно название команды на английском. тут написал по-русски, чтоб было понятней
Окно открывается, все настройки, какие есть, замечательно меняются. кроме той, которая связана с переходом в окно акада для выбора длины(высоты текста). Окно настроек гасится, но в строке акада не появляется запрос на новую длину :(
В чем может быть пробема?
P.S.:
параметры команды отрисовка: ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW
параметры команды настройки: ACRX_CMD_TRANSPARENT | ACRX_CMD_NOHISTORY