大家帮忙看看,多文档应用程序,新建多个文档后,如何获得当前被激活的文档指针。

tiankong1399 2008-10-15 11:12:46
void CghghView::WorkCanvusToWindow()
{
//CView *pOldActiveView=GetActiveView();
CClientDC dc(this);
struct IMAGEPARAMENT P;
if (SaveCanvus.IsNull())
return;
GetImageParament(&WorkCanvus, &P);
WorkCanvus.BitBlt(dc, 0, 0, P.nWidth, P.nHeight, 0, 0, SRCCOPY);//位块传输实现显示
}
上面是我写的一段把内存画布的图像显示到窗口的程序,如果应用程序中只有一个文档窗口,那么图片可以显示,问题来了,如果应用程序中新多个文档,再用该程序送显时,每个窗口都会现实这个图片,而我想要的是,只把图像显示到当前窗口激活的那个窗口,,我想是CClientDC dc(this);这一句的问题,括号里面的指针不该是this,而该是当前被激活的文档窗口指针,怎么获得当前文档窗口的指针,大家帮忙看看怎么改。谢过~
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
renwoxingshen 2011-12-20
  • 打赏
  • 举报
回复
问题不是如何得到当前的档,而是在切换的时候如何统一视图与文档。
renwoxingshen 2011-12-20
  • 打赏
  • 举报
回复
本人出现了一个问题,多文档的应用程序,在切换视图后,得到的是当前的视图,却引用的是之前的文档,该如何统一?
老码学徒 2008-10-20
  • 打赏
  • 举报
回复
來晚了,幫不上了。
Occam's_Razor 2008-10-16
  • 打赏
  • 举报
回复
第一句这样获得当前激活view

CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild =
(CMDIChildWnd *) pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child
// window.


CView *pOldActiveView= (CView *) pChild->GetActiveView();
tiankong1399 2008-10-15
  • 打赏
  • 举报
回复
一楼的pOldActiveView,,哪定义,,编译通不过,有没有讲得详细点,初学MFC,,
Occam's_Razor 2008-10-15
  • 打赏
  • 举报
回复
第一句这样获得当前激活view

CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild =
(CMDIChildWnd *) pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child
// window.
CMyView *pView = (CMyView *) pChild->GetActiveView();
Occam's_Razor 2008-10-15
  • 打赏
  • 举报
回复
void CghghView::WorkCanvusToWindow() 
{
//CView *pOldActiveView=GetActiveView();
ASSERT(pOldActiveView);
CClientDC dc(pOldActiveView);
struct IMAGEPARAMENT P;
if (SaveCanvus.IsNull())
return;
GetImageParament(&WorkCanvus, &P);
WorkCanvus.BitBlt(dc, 0, 0, P.nWidth, P.nHeight, 0, 0, SRCCOPY);//位块传输实现显示
}
这样不行么?
liyinlei 2008-10-15
  • 打赏
  • 举报
回复
当前活动的文档指针,先通过主框架 GetActiveFrame()/MDIGetActive() 等到 活动的子Frame

然后再通过子Frame的 GetActiveView获取活动视图

19,464

社区成员

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

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