2 swj6086085 swj6086085 于 2014.07.30 16:25 提问

MFC如何获得一个无模式对话框的指针

我在创建一个无模式对话框的时候,想实现不关闭对话框也能向视图中发送数据的功能。
我是在对话框里弄了一个按钮,然后在这个按钮的响应函数中发送一个自定义消息,这个自定义消息响应函数是在**CxxxView**类里定义的,要想把数据发送过来,需要对话框的指针,请问如何获得这个对话框的指针?
我查过一些资料,试过**GetParent()**,但是用这个的时候,我的程序画出来的图像完全不对。。
代码如下:**CNPenDlg NPenDlg=(CNPenDlg)GetParent();**,**CNPenDlg**是对话框的类。
也试过用**FindWindow**和**FromHandle**,但是程序一运行就崩溃。。
代码如下:**HWND hwnd=::FindWindow(L"CNPenDlg",L"选择画笔");**
CNPenDlg NPenDlg=(CNPenDlg)FromHandle(hwnd);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
非模态对话框的指针释放的理解
最近项目
MFC 创建模式对话框与非模式对话框
// 模式对话框 my_about cb; cb.DoModal(); //非模式对话框 my_about *cb = new my_about; cb->Create(IDD_myabout,this); cb->ShowWindow(SW_SHOW); vc2008 mfc 默认添加到对话框会有 确定跟取消, 但这俩框在资源视图里面还看不到,不晓的为什么,但是处理函
对话框程序:模式和非模式
模式对话框:当对话框弹出后,无法操作其父窗口或者上一级窗口,直到关闭该对话框为止。在主对话框关联类A的情况下,模式对话框创建步骤: 新插入一个对话框资源,并添加所需控件 对新对话框生成新的对话框类B 对主对话框中的控件建立消息映射函数 在该消息映射函数中创建对话框类B的对象,如 B dlg; dlg.DoModal();模式对话框的特点: 在关闭模式对话框前,无法操作背景窗口,除非本身就是背景窗口。
MFC创建模态对话框和非模态对话框(1)
一:模态对话框和非模态对话框 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。    非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。  二:运行过程 首先添加一个对话框和一个对话框类;在主对话框中添加一个butto
MFC非模态对话框的创建及显示
我们需要在原对话框CMFC_Kinect_TrackingDlg设计一个按钮,点击这个按钮后弹出一个非模态对话框Color_Based_SettingDlg, 并且同时两个对话框都是激活状态,都可以自由操作,步骤入下: 1.在头文件MFC_Kinect_TrackingDlg.h中包含Color_Based_SettingDlg.h 2.在MFC_Kinect_TrackingDlg.h中的
使用无模式对话框
关于MFC的基本练习 如何使用无模式对话框
MFC单文档 对话框 模式对话框和非模式对话框
MFC应用程序中添加新的对话框资源后,需对这些新的资源添加相应的类!对菜单资源编辑添加消息处理函数,需注意这些函数的位置应设置在视图类! 对模式对话框,使用较简单容易,调用DoModal函数加载对话框,显示对话框并管理与对话框对象的交互,直到用户单击“确定”或”取消”按钮!只需在视图类的*.cpp文件中添加模式对话框添加的类引用即可,比如添加 #include "ModelDlg.h",这里要注
模式对话框和无模式对话框 区别
按工作方式不同,可将对话框分成两类:  ??模式对话框(modal dialog box模态对话框):在关闭模式对话框之前,程序不能进行其他工作(如一般的“打开文件”对话框)  ??无模式对话框(modeless dialog box 非模态对话框):模式对话框打开后,程序仍然能够进行其他工作(如一般的“查找与替换”对话框)  两者的区别:  一. 非模态对话框的模板必须具有Visible
MFC创建有模式对话框和无模式对话框
VC下创建一个新的窗口主要有两种模式,一种是创建后主窗口失去鼠标焦点,只有子窗口能获取到用户输入和用户操作,这种方式比如网页弹出警告框,我们必须先处理弹框内的操作才能再去控制浏览器,称之为有模式对话框;另外一种是创建新窗口后主窗口与子窗口都能获取到用户焦点,这种对话框为无模式对话框。 两者的创建方法都很简单,有一些不同的地方。我们打开VC6.0,用MFC Wizard创建一个简单的窗体程
MFC 创建非模态对话框和销毁过程
今天项目中遇到的问题,记录下来,做个总结。 一个简单的目的是创建一个非模态对话框并在对话框关闭后将其销毁。 这里的销毁包括:销毁对话框对象资源和对话框对象指针; 首先说创建对话框: 一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。 点击模态对话框中的OK按钮,模态对话框会被销