Поделиться через


COleControl::IsConvertingVBX

Разрешает OLE специализировало загрузку элемента управления.

BOOL IsConvertingVBX( );

Возвращаемое значение

Ненулевой, если элемент управления преобразован; в противном случае – значение 0.

Заметки

При преобразовании форма, которая использует управления VBX одно, использующий OLE элементы управления специальный код для загрузки OLE элементов управления может не требуется. Например, при загрузке экземпляра OLE элемента управления, то есть вызов PX_Font в DoPropExchange:

PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);

Однако управления VBX не имели объект шрифта. каждое свойство шрифта было сохранено по отдельности. В этом случае можно использовать IsConvertingVBX для различения между этими вариантами: 2

if (!IsConvertingVBX())
{
   PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
}
else
{
   PX_String(pPX, _T("FontName"), tempString, DefaultName);
   m_pMyFont->m_pFont->put_Name(tempString.AllocSysString());
   PX_Bool(pPX, _T("FontUnderline"), tempBool, DefaultValue);
   m_pMyFont->m_pFont->put_Underline(tempBool);
}

Другой вариант менее, если элемент управления VBX сохранило собственнические двоичные данные (в своем обработчике сообщений VBM_SAVEPROPERTY ), и OLE элемент управления сохраняет его двоичные данные в другом формате. Для OLE элемент управления для обратной совместимости с элементом управления VBX, можно считывать и старые и новые форматы, используя функцию IsConvertingVBX, ли различать нагружались элемент управления VBX или OLE элемент управления.

В функции DoPropExchange элемента управления, для этого условия можно проверить и, если true, выполните код, относящийся к этому загрузки преобразования (например, в предыдущем примере). Если элемент управления не преобразования, можно выполнять код нормальной загрузки. Эта возможность применима только к элементам управления, преобразованной из аналогов VBX.

Требования

Header: afxctl.h

См. также

Ссылки

Класс COleControl

Диаграмма иерархии

COleControl::DoPropExchange