最近用到VC++的SDI视图编程,要做一个类似于Windows资源管理器形式的视图,左边LeftView继承了CTreeView,要做一个树形视图控件;右边继承CFrameView,有几个对话框,要求在点击左边树形控件的相关节点时,右边显示相应的对话框。遇到几个问题:
(1)怎么将节点获得的相应对话框显示在右边窗口中?
(2)怎样动态获得对话框?
我是个VC++新手,从前基本上没接触过MFC,谁能提供个源码啊?先谢了!
我采用的鼠标左键单击获得消息,对话框总是显示在外边,主要是不知道右边应该是个什么地址,这是代码:
void CLeftView::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
NM_TREEVIEW* pNMTreeView=(NM_TREEVIEW*)pNMHDR;
CTreeCtrl& CtlTree=(CTreeCtrl&)GetTreeCtrl ();
HTREEITEM select_item=CtlTree.GetSelectedItem ();
CString str=CtlTree.GetItemText (select_item);
if(str="工艺参数管理")
{
m_pDlg = new CParaDlg;
m_pDlg->Create(IDD_PARA);
m_pDlg->ShowWindow(SW_SHOW);
}
else if(str="换热系统模拟")
{
m_hDlg = new CHESimuDlg;
m_hDlg->Create(IDD_HESIMU);
m_hDlg->ShowWindow(SW_SHOW);
}
else if(str="反应系统模拟")
{
m_rDlg = new CRESimuDlg;
m_rDlg->Create(IDD_RESIMU);
m_rDlg->ShowWindow(SW_SHOW);
}
*pResult = 0;
}