关于传送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'

那位大哥帮忙解答下啊, 在非模式对话框中可以解决 但是我就是想把这个问题弄明白 十分感谢啊!!
...全文
120 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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;

16,547

社区成员

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

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

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