C ++ не может отображать элемент управления ActiveX в диалоговом окне CFormView, переменная элемента управления равна NULL

Я использую SmartGraph Элемент управления ActiveX в моем проекте (Visual Studio 2015, MFC, C ++). Он был успешно зарегистрирован.
Я пытаюсь вписать диалог с этим элементом управления в CFormView

MyAppView.h:

#pragma once
#include "SmartGraph.h"#include "afxwin.h"
class CMyAppView : public CFormView
{
protected: // create from serialization only
CMyAppView();
DECLARE_DYNCREATE(CMyAppView)

enum { IDD = IDD_DIALOG1 };

CSmartGraph m_Graph; //!!!!! ActiveX control variable
CButton m_ctrlOK;
....
}

MyAppView.cpp:

....

void CMyAppView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Control(pDX, IDOK, m_ctrlOK);
DDX_Control(pDX, IDC_SMARTGRAPH1, m_Graph);
}

void CMyAppView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
ResizeParentToFit();

m_Graph.SetParentWnd(this->m_hWnd);
m_Graph.SetPlotType(0);
m_Graph.put_xLable(_T("Time"));
m_Graph.put_yLable(_T("Amplitude"));
m_Graph.put_Title(_T("Graph Test"));
}
...

Таким образом, m_Graph имеет значение NULL, а SmartGraph не отображается в диалоговом окне. В то же время переменная кнопки OK не равна NULL и отображается правильно.
Что я делаю не так?

0

Решение

Вам необходимо создать экземпляр этого объекта. m_Graph.CreateControl (…);

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector