Как прикрепить диалог к рамке в SDI?
Скажите, пожалуйста, как это можно сделать?
Что-то вроде этого:
IDD_DIALOG_POINTS - идентификатор прикрепляемого диалога
MainFrm.h
Код:
CDialogBar m_wndPtsBar;
MainFrm.cpp
Код:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
if (!m_wndPtsBar.Create(this, IDD_DIALOG_POINTS,
CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY , IDD_DIALOG_POINTS))
{
TRACE0("Failed to create DlgBar\n");
return -1; // fail to create
}
m_wndPtsBar.EnableDocking(CBRS_ALIGN_LEFT);
EnableDocking(CBRS_ALIGN_LEFT);
DockControlBar(&m_wndPtsBar);
...
}
{
...
if (!m_wndPtsBar.Create(this, IDD_DIALOG_POINTS,
CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY , IDD_DIALOG_POINTS))
{
TRACE0("Failed to create DlgBar\n");
return -1; // fail to create
}
m_wndPtsBar.EnableDocking(CBRS_ALIGN_LEFT);
EnableDocking(CBRS_ALIGN_LEFT);
DockControlBar(&m_wndPtsBar);
...
}
Обращаться к контролам на созданной панели из методов фреймового окна можно так:
Код:
CEdit* pedSpangout =
static_cast<CEdit*>(m_wndPtsBar.GetDlgItem(IDC_EDIT_CURR_SP_X));
static_cast<CEdit*>(m_wndPtsBar.GetDlgItem(IDC_EDIT_CURR_SP_X));
спасибо!! :)