首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

奇怪,为什么小弟我按照网上的隐藏视图的法子实验了一下,结果不管用

2013-07-09 
奇怪,为什么我按照网上的隐藏视图的法子实验了一下,结果不管用?void CMainFrame::OnContextMenu(CWnd*pWnd

奇怪,为什么我按照网上的隐藏视图的法子实验了一下,结果不管用?

void CMainFrame::OnContextMenu(CWnd*pWnd, CPoint point)
{
CsssView* pActive=(CsssView*)GetActiveView();
ASSERT(pActive);
pActive->ShowWindow(SW_HIDE);

}


http://blog.sina.com.cn/s/blog_49b531af0102dtpi.html


这文章里有这么几句代码:

SetActiveView(pNewActiveView);     //改变活动的视图
    pNewActiveView->ShowWindow(SW_SHOWMAXIMIZED); //显示新的视图
    pOldActiveView->ShowWindow(SW_HIDE); //隐藏旧的视图

说明showwindow可以隐藏视图啊,所以我验证一下,结果。。。


[解决办法]
你怎么知道 不 管用?
在 MainFrame OnPaint 中:
{
CPaintDC dc(this);
CRect rc;
GetClientRect(&rc);
dc.FillSolidRect(&rc,RGB(0,0,0));
}

这样 CMainFrame::OnContextMenu (在 toolbar 附近 R点击)

mainFrame 变黑 的 了。

另外 OnRButtonDown()现在 也 起作用了。

sdi 中 mainframe 实际上 是 被 View 覆盖的。

但 view hide 后 mainframe 没 刷新 动作。

热点排行