我时菜菜鸟,刚学MFC,问个问题

nnheaven 2004-08-03 02:16:12
我想在一个对话框中输入x,y坐标和想说话,然后在主窗口显示出来,
我想在OnDraw()中用pDC->TextOut(),但发现无法获得对话框中的x,y成员变量。
因为我是想用一个菜单显示出那个对话框的,然后输入x,y。所以我 就到菜单的BN_CLICKED的消息函数中去写
DLG theDLG;
theDLG.Domal();
CDC* pDC=this->GetDC();
pDC->TextOut(...);

这样是实现了,但不符合我本意,关键是怎么在View的OnDraw()中得到对话框的指针?
请大家赐教,不甚感激
...全文
83 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nnheaven 2004-08-03
to lizmei001:
在view中手动添加对dialog变量的定义么?那和EditBox的联系也得自己作咯?
回复
nnheaven 2004-08-03
感激涕零,谢谢大家不遗余力啊
回复
lizmei001 2004-08-03
如果你的对话框不退出的话,应该向view发送消息才对
可以在view中定义你dialog的变量
回复
社会栋梁 2004-08-03
得等对话框结束啊
要不画了也看不到

除非你用非模式对话框
回复
weepp 2004-08-03
楼上说的对!
回复
快乐鹦鹉 2004-08-03
你这样当然不行了。
DLG theDLG;
theDLG.Domal();
int x = theDLG.x;
int y = theDLG.y;
CDC* pDC=this->GetDC();
pDC->TextOut(x,y,...);

需要在DoModal结束后,将x,y信息取出保存下来。
回复
zhucde 2004-08-03
DLG theDLG;
if(IDOK==theDLG.Domal())
{
CString strx,stry;
theDLG.m_editX.GetWindowText(strx);//m_editX为输入X值的EditBox控制变量
theDLG.m_editY.GetWindowText(stry);

CDC* pDC=this->GetDC();
pDC->TextOut(10,10,strx+","+stry);
}
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-08-03 02:16
社区公告

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