一个对话框如何获得本程序中另外一个对话框的句柄和它的设备上下文?

hw110 2003-08-19 09:17:04
前者是由后者create出的,我做一个截屏绘图程序,由初始对话框自身隐藏,并截取屏幕选入它的设备上下文显示出来,然后由它domodal()出一个新的承载绘图版的对话框,新出的对话框怎么才能获取前者的句柄与设备上下文,从而让我在前一个对话框截取的图片上绘图呢?
请兄弟们指点一下,谢谢
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hw110 2003-08-19
  • 打赏
  • 举报
回复
“通过构造函数传入上一个对话框的指针就可以了”---但是我上一个对话框头文件有引用第二个对话框头文件,而如果在第二个对话框头文件中又引用第一个对话框头文件,并且定义它的变量,在构造函数中初始化,这样会变成一种循环嵌套的关系呀?
我这样试了一下,但是不行,是不是我哪里没有理解对呢?谢谢
xiaohedou 2003-08-19
  • 打赏
  • 举报
回复
同意gufengduyu(风雨中孤独)的。就是在第二个窗口的类定义里包含另一个窗口的指针,退出时delete.
hw110 2003-08-19
  • 打赏
  • 举报
回复
还是不怎么懂,我的问题是在运行主对话框MainDlg的OninitDialog()时截取全屏幕,同时选入当前对话框的设备上下文进行显示,然后再隐藏当前主对话框,Create一个新的对话框进行线条,铅笔这类似的绘图操作选项,我的问题是,如何在新的对话框里用OnMouseUp(),OnMouseDown(),OnMouseMove()这些函数来对主对话框截屏并选入主对话框设备上下文的截屏图进行涂抹呢?不知道我这样说清楚了没有,谢谢!
gufengduyu 2003-08-19
  • 打赏
  • 举报
回复
通过构造函数传入上一个对话框的指针就可以了
Class CDlg
{
CDC *pDC;
CDlg2 *pDlg;

void CreatDlg();
...
}
void CDlg::CreatDlg()
{
pDlg = new CDlg2 (this);
...
}
CDlg2 生成时就得到了CDlg的指针
fuq0 2003-08-19
  • 打赏
  • 举报
回复
up
hw110 2003-08-19
  • 打赏
  • 举报
回复
怎么没人帮忙呀?急急急,分不够继续加

16,473

社区成员

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

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

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