分割窗口后响应按钮消息是碰到问题了

分割窗口后响应按钮消息是碰到问题了。

我新建了一个C...FormView类,并实现了窗口的分割。然后我在新产生的Dialog资源上新添加一个按钮。 接下来我在C...FormView类中添加按钮消息并加入如下代码: void C...FormView::OnButton1() { CFileDialog fileOpenDlg(TRUE,"bmp","*.bmp",NULL,"Bitmap Files(*.bmp)",NULL); C...Doc doc, *pdoc; pdoc = NULL; int nRespond = fileOpenDlg.DoModal(); if(nRespond == IDOK) { CString filePath = fileOpenDlg.GetPathName(); (pdoc->m_pDib) = new CDib(filePath); //在Doc.h中定义了CDib* m_pDib; if((pdoc->m_pDib)->IsValid()) doc.SetTitle(filePath); else doc.DeleteContents(); } doc.UpdateAllViews(0); } 当我程序写到这里时(图片此时还不能显示出来,我还没有在视类的OnDraw函数中添加代码)编译没有报错,在运行时点击按钮也显示打开对话框了,可是当我选择需要打开的.bmp图片打开时弹出:....exe碰到问题需要关闭。...... 以前我写国类似的程序,不过在写到这里的时候编译和运行都不报错啊。 (我以前写过的类似的程序不是响应分割窗口中的按钮消息,而是响应主菜单中的一个按钮消息。所以以前我只要在在C...Doc类中添加响应菜单中的一个按钮消息代码和上面很像,只是不要加:C...Doc doc, *pdoc;就可以了。分割窗口后在C...Doc类中没有找到新添加的按钮消息,所以我只有在C...FormView类中添加了。) 请问各位大侠这是怎么回事啊??我要想实现我需要的功能该怎么办呢?? 请各位大侠多多赐教,万分感谢!!!!!!!! 网友回复:C...Doc doc, *pdoc; 把这行改成: C...Doc* doc = (C...Doc)GetDocument(); 下面都用doc->来访问文档类成员。 网友回复:C...Doc doc, *pdoc; pdoc = NULL; int nRespond = fileOpenDlg.DoModal(); if(nRespond == IDOK) { CString filePath = fileOpenDlg.GetPathName(); (pdoc->m_pDib) = new CDib(filePath); //在Doc.h中定义了CDib* m_pDib; if((pdoc->m_pDib)->IsValid()) doc.SetTitle(filePath); else doc.DeleteContents(); } doc.UpdateAllViews(0); } ====你这个pDoc根本就没有指向任何空间啊。不崩溃才怪 网友回复:按照楼上的意见我将 C...Doc doc, *pdoc; 把这行改成: C...Doc* doc = (C...Doc)GetDocument(); 后,可是碰到下面的错误: error C2440: 'type cast' : cannot convert from 'class CDocument *' to 'class C...Doc' 这是为什么啊?我比较菜,请多多指教。 谢谢! 网友回复:C...Doc* doc = (C...Doc)GetDocument(); 改成: C...Doc* doc = (C...Doc*)GetDocument(); 网友回复:对对对,我也刚刚发现少加了*.谢谢各位大侠帮忙!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值