当点击控件条过后,GetDocument()为空

咸鸭蛋不好吃 2014-12-04 03:32:21
SDI创建,我使用CMessageViewDockBar添加了新的控件条, 用于输出提示信息;
菜单中所有项的响应函数均在 CMainFrame类中;
单击主框架窗口, 再点击菜单项,菜单项响应函数运行没问题;
在该控件条内单击鼠标,再单击菜单项, 菜单项的响应函数中GetDocument()获得的pDoc为空;

控件条窗口的创建过程代码:
//-----
MainFrame.h
CMessageViewDockBar m_OutputDockBar;//输出信息窗口
//-----
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.SetWindowTextA("Standard Tool");

m_wndDisplayBar.EnableDocking(CBRS_ALIGN_ANY);//让自己的控件条可以停靠
m_wndDisplayBar.SetWindowTextA("Display Tool");

EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar);
DockControlBar(&m_wndDisplayBar, AFX_IDW_DOCKBAR_RIGHT);//让控件条显示在主框架上

//-----

void CMainFrame::OnTest()
CPointCloudMeasureDoc *pDoc = this->GetDocument();
//当点击控件条的时候为空
ASSERT_VALID(pDoc);





这是窗口的切换问题吗? 望大神指导!


这里我传图无法显示, 可以查看这里:
http://note.youdao.com/share/?id=7e49b990a42dd68427387b200a819ff4&type=note

...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mlqxj35674 2014-12-05
  • 打赏
  • 举报
回复
真受不了啊,GetDocument是视图类的函数
信阳毛尖 2014-12-05
  • 打赏
  • 举报
回复
引用 2 楼 skyhuangdan 的回复:
[quote=引用 1 楼 lsq19871207 的回复:] CFrameWnd有GetDocument成员函数吗?? 我咋记得只有个类似的GetActiveDocument函数呢??
嗯. 没错, GetDocument是我自己写的函数, 里面就是GetActiveDocument()实现[/quote] 那就不清楚是怎么了..... 你这样试试: CPointCloudMeasureDoc *pDoc = this->GetDocument();改成 CPointCloudMeasureDoc *pDoc = GetActiveView()->GetDocument();
vocanicy 2014-12-04
  • 打赏
  • 举报
回复
如果你是指线程休眠然后唤醒的时间,那就没有更高精度的函数了
vocanicy 2014-12-04
  • 打赏
  • 举报
回复
如果你是指线程休眠然后唤醒的时间,那就更高精度的函数没有了
咸鸭蛋不好吃 2014-12-04
  • 打赏
  • 举报
回复
引用 1 楼 lsq19871207 的回复:
CFrameWnd有GetDocument成员函数吗?? 我咋记得只有个类似的GetActiveDocument函数呢??
嗯. 没错, GetDocument是我自己写的函数, 里面就是GetActiveDocument()实现
信阳毛尖 2014-12-04
  • 打赏
  • 举报
回复
CFrameWnd有GetDocument成员函数吗?? 我咋记得只有个类似的GetActiveDocument函数呢??

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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