我时菜菜鸟,刚学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()中得到对话框的指针?
请大家赐教,不甚感激
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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);
}

16,471

社区成员

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

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

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