Справочное руководство по TDMS 7.0 API
C++
Смотри также Отправить замечание

Glossary Item Box

Исходный текст

//---------------------------------------------------------
// Показывает диалог выбора объекта.
// Возвращает: FALSE - если пользователь выбрал "Отмена".
//---------------------------------------------------------
BOOL SelectObject(ITDMSObject* *ppObject, ITDMSApplication* pApp, ITDMSObjects* pSelectFromObjects)
{
    // получить диалог выбора объекта
    CComPtr<ITDMSDialogs> pDialogs;
    CheckError(pApp->get_Dialogs(&pDialogs));
    CComPtr<ITDMSSelectObjectDlg> pSelectObjectDlg;
    CheckError(pDialogs->get_SelectObjectDlg(&pSelectObjectDlg));
    
    // выбрать из указанных объектов
    if (pSelectFromObjects != NULL)
        CheckError(pSelectObjectDlg->put_SelectFromObjects(pSelectFromObjects));

    // показать диалог
    VARIANT_BOOL bResult;
    CheckError(pSelectObjectDlg->Show(&bResult));
    if (!bResult)
        return FALSE;

    // получить первый выбранный объект
    CComPtr<ITDMSObjects> pObjects;
    CheckError(pSelectObjectDlg->get_Objects(&pObjects));
    VARIANT varItem;
    varItem.vt = VT_I4;
    varItem.lVal = 0;
    CheckError(pObjects->get_Item(varItem, ppObject));

    return TRUE;
}


// пример использования функции
CComPtr<ITDMSObject> pObject;
if (SelectObject(&pParentObject, pApp, NULL)) 
{
    // пользователь выбрал объект
}
else 
{
    // пользователь нажал "Отмена"
}
© 2023 CSoft Development. Все права защищены.