1。在MainFrame中定义相关变量
CXTPToolBar* m_pToolbar;
CXTPControlComboBox* m_pCombox;
2.在MainFrame中声明系统消息处理程序
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg int OnCreateControl(LPCREATECONTROLSTRUCT lpCreateControl);
3。在函数OnCreate中加入下面的语句
CXTPCommandBars* pCommandBars = GetCommandBars();
if(pCommandBars == NULL)
{
TRACE0("Failed to create command bars object./n");
return -1; // fail to create
}
m_pToolbar = (CXTPToolBar*)
pCommandBars->Add(_T("工具栏"), xtpBarTop);
if (!m_pToolbar || !m_pToolbar->LoadToolBar(IDR_TOOLBAR))
{
TRACE0("Failed to create toolbar/n");
return -1;
}
4. 在MainFrame.cpp中加入消息图
BEGIN_MESSAGE_MAP(CMainFrame, CXTPMDIFrameWnd)
ON_XTP_CREATECONTROL()
END_MESSAGE_MAP()
5。在函数OnCreateControl中加入类似于下面的语句。这和具体使用的控件相关
if (lpCreateControl->bToolBar)
{
CXTPToolBar* pToolBar = DYNAMIC_DOWNCAST(CXTPToolBar, lpCreateControl->pCommandBar);
if (!pToolBar)
return FALSE;
//波形显示模块中的横向显示选择
if (lpCreateControl->nID == ID_COMBOX && pToolBar->GetBarID() == IDR_TOOLBAR)
{
m_pCombox = (CXTPControlComboBox*)CXTPControlComboBox::CreateObject();
m_pCombox->SetDropDownWidth(80);
lpCreateControl->pControl = m_pCombox;
return TRUE;
}
6.在View的适当函数中加入类似于下面的语句,这和具体使用的控件相关。
CChildFrame* pChild = (CChildFrame*)GetParentFrame();
pChild->m_pWndMainFrm->m_pCombox->ResetContent();
pChild->m_pWndMainFrm->m_pCombox->AddString(str1);
pChild->m_pWndMainFrm->m_pCombox->AddString(str2);
pChild->m_pWndMainFrm->m_pCombox->AddString(str3);
pChild->m_pWndMainFrm->m_pCombox->AddString(str4);
pChild->m_pWndMainFrm->m_pCombox->SetCurSel(2);