读书人

奇怪为什么小弟我按照网上的隐藏视图

发布时间: 2013-07-09 09:50:47 作者: rapoo

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

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 没 刷新 动作。

读书人网 >VC/MFC

热点推荐