关于视图拆分

wugangligan 2010-07-28 12:11:55
我将一视图拆分成了两个视图(左、右视图);我在左视图里写了一棵树,双击树的一个节点的时候,右视图显示出一个对话框,我在对话框里添加一个测试按钮,当单击按钮时执行MessageBox("1", NULL, MB_OK);运行后没有错误,但是我单击按钮却没有弹出显示“1”消息框。即没有任何反映。是怎么回事哦


消息映射:ON_BN_CLICKED(IDC_BUTTON1, OnButton1)

影射函数:
void Sgrade::OnButton1()
{
// TODO: Add your control notification handler code here
MessageBox("1", NULL, MB_OK);
}


请大家帮忙!先谢谢了
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
izardMan 2010-08-22
  • 打赏
  • 举报
回复
在show()中显示对话框
izardMan 2010-08-22
  • 打赏
  • 举报
回复
.你可以换个思路,调用右视图的一个函数,让在这个函数中去显示对话框
p_dlg->show()
wltg2001 2010-07-28
  • 打赏
  • 举报
回复
右视图是不是对应着Sgrade类呢
zyrr159487 2010-07-28
  • 打赏
  • 举报
回复
设置一个断点试试看有没有运动到这里
wugangligan 2010-07-28
  • 打赏
  • 举报
回复
这是拆分视图代码:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext * pContext)
{
if(!m_wndsplitter.CreateStatic(this,1,2))
return false;
if(!m_wndsplitter.CreateView(0,0,RUNTIME_CLASS(CLeftView),CSize(200,0),pContext)||
!m_wndsplitter.CreateView(0,1,RUNTIME_CLASS(CTESTView),CSize(100,0),pContext))
{
m_wndsplitter.DestroyWindow();
return false;
}
return true;
}
这是右视图显示代码:
void CLeftView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here

*pResult = 0;

NM_TREEVIEW* ptv=(NM_TREEVIEW*)pNMHDR;
CTreeCtrl& CtlTree = GetTreeCtrl();
HTREEITEM selcet_item = CtlTree.GetSelectedItem();
CString str=CtlTree.GetItemText(selcet_item);
CTESTView *p_dlg=(CTESTView *)(((CMainFrame*)AfxGetMainWnd())-> m_wndsplitter.GetPane(0,1));
if(str=="基于本机")
{
if(m_dlg)
{
m_dlg->DestroyWindow();
delete m_dlg;
}
m_dlg = new CDialog();
m_dlg->Create(IDD_DIALOG1,p_dlg);
m_dlg->ShowWindow(SW_SHOW);
}

然后我双击:基于本机节点 在右视图弹出一个DIALOG,里面有以按钮

难道是这样做的方法不对吗
wugangligan 2010-07-28
  • 打赏
  • 举报
回复
设置了 断点是没有运行是到哪儿


右视图只是显示出了一个DIALOG DIALOG的类是Sgrade; 你说的对应具体是什么意思啊

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧