Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, Vasilich2000, Вы писали:
V>>как сделать это "некоторые инициализирующие манипуляции с его интерфейсами"
V>>ну хотя бы на функции которые надо использовать для инициализации.
Vi2>Ты же сам написал, что "Если вставить этот ActiveX в диалог, то все работает". Вот и смотри, как там осуществляется инициализация контрола. Я тебе ответил, в чем зарыта собака.
создается класс с помощью визарда
class CAcquisition : public CWnd{
protected:
DECLARE_DYNCREATE(CAcquisition)
public:
CLSID const& GetClsid()
{
static CLSID const clsid
= { 0x7adcdc5e, 0xd0b6, 0x11d1, { 0xaa, 0x76, 0x0, 0x20, 0x78, 0x13, 0x69, 0x98 } };
return clsid;
}
virtual BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
...
long CheckDiskSpace(LPCTSTR SequencePathName, long* BytesSpaceFree, short RowToCheck);
...
long CAcquisition::CheckDiskSpace(LPCTSTR SequencePathName, long* BytesSpaceFree, short RowToCheck)
{
long result;
static BYTE parms[] =
VTS_BSTR VTS_PI4 VTS_I2;
InvokeHelper(0x7, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
SequencePathName, BytesSpaceFree, RowToCheck);
return result;
}
в диалоговом классе
//header
CAcquisition m_OCX;
//c++
DDX_Control(pDX, IDC_ACQUISITIONCTRL1, m_OCX);
...
long Space;
SCODE Result = m_OCX.CheckDiskSpace(m_SequenceName, &Space, m_StartRow);
и где здесь инициализация дополнительная?
единственное что-то хоть как-то подходящее, так это это в свойствах ACQUISITIONCTRL1 есть свойство Disabled = false
Vita, ты можешь поконкретнее указать, а не говорить загадками