mfc-MFC在停靠窗口里获取当前文档指针错误

问题描述

MFC在停靠窗口里获取当前文档指针错误

void CPropertiesWnd::OnTimer(UINT_PTR nIDEvent)
{
    if(nIDEvent == 10)
    {
        CMainFrame*           pMainFrm  =  (CMainFrame*)AfxGetMainWnd();
            CMyMDI1Doc*   cur_doc = (CMyMDI1Doc*)pMainFrm->GetActiveDocument();
             if (cur_doc->vector_ddd.size() >0)
             {
                  TRACE("
总算出来了
");
               }
    }
}

我的doc类中有很多变量,我在属性窗口(系统自动生成的那个)的定时器里需要不停的获取当前活动的文档,当点击快速访问工具栏里的打开文件按钮时,一打开文档程序就会崩掉。加断点,运行到if之前时,cur_doc 里的变量都获取不到值,系统显示错误的值。所以根本没法进if判断。大婶们看看什么问题?

解决方案

MFC中文档框架视类指针的相互获取

解决方案二:

vector_ddd.size()
这个方法的实现是什么,是否正确

时间: 2024-10-30 11:02:12

mfc-MFC在停靠窗口里获取当前文档指针错误的相关文章

mfc停靠窗口获取主框架报错

问题描述 mfc停靠窗口获取主框架报错 我的停靠窗口(就是系统自动生成的那个属性窗口)里的定时器里需要不停地获取当前文档的信息.然后我就想先获取主框架的指针,再GetActiveDocument(), 但是会报错.这个主框架指针必须得在这个属性窗口类里所有地方都能调用,所以我在头文件里声明一个 CMainFrame* pMain; 但是报错.如果我在OnTimer里这样写,也报错.怎么办? 解决方案 MFC框架中获取窗口/视图句柄MFC 窗口基本框架 解决方案二: 不应该这么做吧,想想吧,一个t

c++-小弟请教在MFC中子窗口如何获取父窗口的句柄啊

问题描述 小弟请教在MFC中子窗口如何获取父窗口的句柄啊 比如我有个父类的Dialog类为A,还有一个子类的Dialog类为B,然后在A类的头文件中包含了B的头文件,然后在A类中生命一个B类的成员变量,类似下面那样,然后我通过一个button调用DoModal();B类的STYLE改为CHILD了: 然后我希望在子窗口中处理一些数据,然后传给父窗口:比如A中有个IDC_text1 有个IDD_BUTTON1,B中有个IDC_text2,有个IDD_BUTTON2: 我就希望在B中的IDC_tex

mfc 对话框 传递 指针-MFC自定义消息运行第二遍时获取窗口失败

问题描述 MFC自定义消息运行第二遍时获取窗口失败 //按钮事件 void CircleDialog::OnBnClickedOk() { UpdateData(TRUE); MsgParam param; param.radius=r; param.colorref1=color1.GetColor(); param.colorref2=color2.GetColor(); CMainFrame *pMainFrm=(CMainFrame*)AfxGetMainWnd(); CView *pV

mfc停靠窗口动态嵌入?????

问题描述 mfc停靠窗口动态嵌入????? 怎么可以实现通过menu中不同按键在停靠窗口中嵌入不同的对话框 解决方案 用CControlBar,用法和CToolBar类似https://msdn.microsoft.com/zh-cn/library/wc9sxcw1(VS.80).aspxhttp://www.cnblogs.com/weiqubo/archive/2010/12/24/1916265.html 解决方案二: 在一定区域内绘制多个窗口,一个窗口显示的时候其他窗口隐藏 解决方案三

MFC SDI程序,如何交互式获取用户单击鼠标的坐标?

问题描述 MFC SDI程序,如何交互式获取用户单击鼠标的坐标? 我在用MFC做一个交互式绘图的小程序,工程名称为Draw.我想在CDrawView类中定义一个public成员函数,void CDrawView::GetPoint(CPoint& point),功能是让用户在客户区窗口中点击鼠标选取一点,并返回该点的坐标. 但是问题是,如何在这个函数中等待鼠标单击事件,即等待WM____LBUTTONUP消息触发后,再继续执行函数,保存点的坐标? 解决方案 ctrl+w,调出类向导,映射WM_L

窗口通信-【MFC分割窗口后的单文档怎么变为多文档??】

问题描述 [MFC分割窗口后的单文档怎么变为多文档??] 网上的办法使过,好像不行:原因可能就是因为窗口被分割了的原因,我将分割窗口的过程全部屏蔽掉以后从单文档变为多文档没有问题.如果加上窗口分割以后就不能变为多文档了.下面是单文档和多文档的差别之一,我的问题也就是在这里.[其实我问题的原因是这样的,想在菜单中弄一个新建文档的命令,而多文档刚好可以解决这个问题,如果能解决这个问题也照样给分] 解决方案 //多文档CMultiDocTemplate* pDocTemplate;pDocTempla

mfc c++-MFC中不同的窗口之间传值的问题

问题描述 MFC中不同的窗口之间传值的问题 在MFC单文档程序中,新建一个对话框,对话框中一个有几个单选按钮.给单选按钮定义一个变量m_PenStyle用来确定选择了哪个单选按钮.然后在View类里面定义一个变量PenStyle,我想让m_PenStyle的值传递给PenStyle,但是运行时发现传递不过来,怎么才能传递到View类里面? 解决方案 每个单选按钮不是有个ID么?用ID就行了,还要什么其他标识来追踪.

mfc-请求MFC通过自会窗口把工具栏如何添加到标题栏中,看清楚了,是标题栏!!!

问题描述 请求MFC通过自会窗口把工具栏如何添加到标题栏中,看清楚了,是标题栏!!! VISUAC++ 6.0中文版怎么样自会添加工具栏到窗口顶部的标题栏,这方面的思路是什么,谢谢!!! 解决方案 https://msdn.microsoft.com/en-us/library/cc309024.aspx

在MFC中,这样为何m_img获取不到任何东西?

问题描述 在MFC中,这样为何m_img获取不到任何东西? void CChildView::OnOpen() { //TODO: 在此添加命令处理程序代码 CFileDialog fileDlg(TRUE); fileDlg.DoModal(); if (fileDlg.GetFileName() != "") { m_img = Image::FromFile(fileDlg.GetFileName()); } } void CChildView::Render(CPaintDC