关于传送CView指针的问题,急等回复

nbabest23 2010-07-15 01:57:54
单文本程序中,与一个模式对话框相关联
比如单击文本 然后弹出一模式对话框
在模式对话框中我想访问Cmyview中的一个public变量,该怎么访问啊
1.Cmyview的指针怎么传给模式对话框呢??模式对话框构造函数接受的是CWnd*
2.有朋友说用
m_pView = (Cmyview*)(AfxGetApp()->m_pMainWnd)->GetActiveView();
但是加到程序中报错啊 提示GetActiveView' : is not a member of 'CWnd'

那位大哥帮忙解答下啊, 在非模式对话框中可以解决 但是我就是想把这个问题弄明白 十分感谢啊!!
...全文
92 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nbabest23 2010-07-15
问题解决了。
原来还要+ Doc.h

我谢你们啊!
  • 打赏
  • 举报
回复
nbabest23 2010-07-15
谢谢各位大哥 但是新问题出现了
总是提示我的C..View类 use of undefined type
加入..View.h 就报哪些
missing ';' before '*'
missing storage-class or type specifiers
这样的错误了。。。我迷茫啊
  • 打赏
  • 举报
回复
webipstin 2010-07-15
不好意思,确实潦草了。

具体说就是先用AfxGetApp()->m_pMainWnd取得主窗体对象指针,但获取的指针是CMainFrame的基类CWnd类的指针,需要强制转换为CMainFrame的指针。

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

pFrame调用成函数GetActiveView()获取视图指针,但获取的指针是Cmyview的基类CView类的指针,需要强制转换为Cmyview的指针。

再试试,代码:

CWnd* pWnd = AfxGetApp()->m_pMainWnd;

CMainFrame* pFrame = (CMainFrame*)pWnd;

CView *pView = pFrame->GetActiveView()

Cmyview* pMyView = (Cmyview*)pView;

  • 打赏
  • 举报
回复
hztj2005 2010-07-15
我是这样用的:
CEditListCtrl::OnLButtonUp{
CMainFrame *pMain=(CMainFrame*) AfxGetApp()->m_pMainWnd;
CChiGramView *pView=( CChiGramView * ) pMain-> GetActiveView();
int status = pView->m_status ;
}
  • 打赏
  • 举报
回复
muzizongheng 2010-07-15
m_pView = (Cmyview*)(((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView());
  • 打赏
  • 举报
回复
nbabest23 2010-07-15
3楼的达人给说的详细点呗 3Q 我急啊
  • 打赏
  • 举报
回复
muzizongheng 2010-07-15
强制转换成CMainFrame , 在调用getActiveView前。
  • 打赏
  • 举报
回复
nbabest23 2010-07-15
1楼的大哥你没看仔细啊
我使用了你说的方法了 可是提示GetActiveView' : is not a member of 'CWnd' 报错了
  • 打赏
  • 举报
回复
webipstin 2010-07-15
Cmyview* m_pView = (Cmyview*)((AfxGetApp()->m_pMainWnd)->GetActiveView());



CWnd* pWnd = AfxGetApp()->m_pMainWnd;

CView *pView = pWnd->GetActiveView()

Cmyview* m_pView = (Cmyview*)pView;
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2010-07-15 01:57
社区公告

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