ObjectARX, AutoCAD. Среда программирования библиотеки C++



Добавьте Код к Обработчикам


Как только Вы добавили обработчики, Вы готовы добавить код, чтобы иметь дело с вашим диалогом. Этот раздел суммирует то, что каждый обработчик делает с законченной распечаткой.

1 Сначала мы добавляем несколько сервисных функций, чтобы конвертировать{*преобразовывать*}, отображать, и проверить правильность значений.

Примечание мы использует CACUINUMERIC и средство управления CACUIANGLEEDIT, чтобы делать это:

// Utility functions

void AsdkAcUiDialogSample::DisplayPoint()

{

m_ctrlXPtEdit.SetWindowText(m_strXPt);

m_ctrlXPtEdit.Convert();

m_ctrlYPtEdit.SetWindowText(m_strYPt);

m_ctrlYPtEdit.Convert();

m_ctrlZPtEdit.SetWindowText(m_strZPt);

m_ctrlZPtEdit.Convert();

}

bool AsdkAcUiDialogSample::ValidatePoint()

{

if (!m_ctrlXPtEdit.Validate())

return false;

if (!m_ctrlYPtEdit.Validate())

return false;

if (!m_ctrlZPtEdit.Validate())

return false;

return true;

}

void AsdkAcUiDialogSample::DisplayAngle()

{

m_ctrlAngleEdit.SetWindowText(m_strAngle);

m_ctrlAngleEdit.Convert();

}

bool AsdkAcUiDialogSample::ValidateAngle()

{

if (!m_ctrlAngleEdit.Validate())

return false;

return true;

}

2 Теперь добавляют некоторые сервисные функции, чтобы выполнить итерации более чем двух таблиц идентификаторов и отображать названия{*имена*} в двух различных списках:

void AsdkAcUiDialogSample::DisplayBlocks()

{

AcDbBlockTable *pBlockTable;

acdbHostApplicationServices()->workingDatabase()

->getSymbolTable(pBlockTable, AcDb::kForRead);

// Iterate through the block table and display

// the names in the list box.

//

char *pName;

AcDbBlockTableIterator *pBTItr;

if (pBlockTable->newIterator(pBTItr) == Acad::eOk) {

while (!pBTItr->done()) {

AcDbBlockTableRecord *pRecord;

if (pBTItr->getRecord(pRecord, AcDb::kForRead)

== Acad::eOk) {

pRecord->getName(pName);

m_ctrlBlockListBox.InsertString(-1, pName);

pRecord->close();

}

pBTItr->step();

}

}

pBlockTable->close();

}

void AsdkAcUiDialogSample::DisplayRegApps()




Содержание  Назад  Вперед