mfc-如何实现CDialogEx::OnOK()中的传数据功能但又不关闭对话框?

问题描述

如何实现CDialogEx::OnOK()中的传数据功能但又不关闭对话框?

请问大家,我有一个对话框类Display,其中一个函数给一个和变量赋了值,用了
CDialogEx::OnOK()把值传给View类中的DoModal,并在View类中有一个变
量来接收Display对话框中的变量的值。但是这样的话,每次Display对话框点了按钮
都会消失,如果不加CDialogEx::OnOK()又不能把值传到View中,请问该怎么实现
不关闭对话框,但是在View类中可以在每一次点击Display对话框按钮的时候获得值呢?
以下是代码:

 void Display::OnBnClickeddsift()
{
    // TODO: Add your control notification handler code here
    UpdateData();
    if (m_intDisp == 0){
        m_intSift = 1;
    }

    CDialogEx::OnOK();
}                                                          //Display对话框中按钮的代码

void CSIMSView::OnDisplay()
{
    // TODO: Add your command handler code here
    Display disp;

    if (disp.DoModal()==IDOK){
        m_IntDISP = disp.m_intDisp;
        if (m_IntDISP == 3 || m_IntDISP == 4)
            m_DSMAJOR = disp.m_dsMajor;
        Invalidate();
    }
}                                                         //View类中Display对话框的代码,要求每次
                                                          //点击Display中的按钮都能把值传到View中

求各位大神解答!感激不尽!

解决方案

获取View的句柄,然后自定义一个消息,对话框中PostMessage发送数据过去

解决方案二:

OnOK点击后会关闭是因为 默认给他的资源ID是IDOK 取消的是IDCANCEL 当点击按钮后调用endDialog()关闭对话框,你可以自己改变他的资源id就好了,然后自定义这个按钮的响应函数,在函数里传递你想要的数据信息

解决方案三:

为什么一定要用OnOK,直接sendmessage不是很好吗?

时间: 2025-01-20 19:23:12

mfc-如何实现CDialogEx::OnOK()中的传数据功能但又不关闭对话框?的相关文章

指针-MFC中服务端要在不是系统给的界面里面实现向客户端传数据怎么做

问题描述 MFC中服务端要在不是系统给的界面里面实现向客户端传数据怎么做 MFC中服务端要在不是系统给的界面里面实现向客户端传数据怎么做 主要是SEND函数需要一个指针 这个指针怎么赋值才能实现传值 解决方案 可以写在windows服务中,不需要界面,用一个全局变量或者静态变量传值. 解决方案二: 对话框用一个变量保存数据,然后send调用发送数据 解决方案三: sendmessage,把想要传送的数据带给某个函数或者线程?具体你在查一下msdn 解决方案四: 就是一个buffer,把你想要发送

堆破坏-基于对话框的MFC问题,在构造中new一个对象,在析构中释放,竟然可以出错!

问题描述 基于对话框的MFC问题,在构造中new一个对象,在析构中释放,竟然可以出错! class CMilesight_Intelligence_AlgorithmDlg : public CDialogEx { public: CIpCamera *m_ip_camera;//已经定义好的一个类库 } CMilesight_Intelligence_AlgorithmDlg::CMilesight_Intelligence_AlgorithmDlg(CWnd* pParent /*=NULL

在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量?

问题描述 在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量? 如题,小弟最近遇到一个问题,新建一个单文档程序,并在其中引入对话框资源.我想在视类的OnDraw()函数中通过响应视类的一个变量的变化来改变视类窗口中图形的状态,而该视类变量的变化是由对话框中的一个控件控制的,这个控件是由旋钮控件和编辑控件捆绑而成的.在网上看了一些资料,试了其中的一些方法,都没能成功.论坛中高手众多,想请热心的高手们给个解决方法,在此先谢过了!能给个相似的例子的更好! 解决方案 要么你把那个变量定义成静态

读文件-MFC一次性读取一个文件中所有字符

问题描述 MFC一次性读取一个文件中所有字符 我想一次性读取文件中的字符串,但是我读取的时候有问题,我的代码如下 file.Open(filePath,CFile::modeRead|CFile::typeBinery){ char * A = new char[file.GetLength()]; file.Read(A,file.GetLength()); CString strResult(A); delete A; return strResult.AllocSysString(); }

mule esb-MuleEsb中http传参给webservice

问题描述 MuleEsb中http传参给webservice 首先上图: webservice所关联的服务中有一个setData(String str)方法,想直接通过http传参给它,例如:http://localhost:8082/http-set?aa=bb. 1.不能用datamapper这个现成的转换器,因为它是企业版,收费. 2.我明白mule中无法这样直接传值给它.因此想自定义一个java构件来做转换.目前就是若于不知道这里的webservice需要何种对象,求大神帮助呀,先在这里

mfc opencv 窗口关闭-MFC应用程序中,opencv弹出的窗口如何关闭

问题描述 MFC应用程序中,opencv弹出的窗口如何关闭 如题,我用VS2013+opencv2.4.8,做了一个应用程序,用opencv弹出了两个视频显示窗口,用MFC界面上的一个Button,做"系统退出",但是当MFC的界面退出后,opencv的那两个窗口还在,不知道如何自主关闭?除了"Esc",知道的大神们,请帮帮忙,先谢谢了! 解决方案 http://blog.csdn.net/jhh_move_on/article/details/8088461 解决

在servlet中怎么传集合显示在jsp页面

问题描述 在servlet中怎么传集合显示在jsp页面 jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServ

html5-请问,JSP网页中如何实现头像上传的功能。实现效果:一般现在网站可以上传头像,可以旋转和剪裁,预览。

问题描述 请问,JSP网页中如何实现头像上传的功能.实现效果:一般现在网站可以上传头像,可以旋转和剪裁,预览. jsp网页实现头像上传功能.实现效果,可以剪切,旋转,预览.网站用的SpringMVC框架.现在html5或者jar包,有实现的吗?求一个示例,谢谢~ 解决方案 如何实现网站应用中的头像剪裁和上传

struts2中关于传参的问题

问题描述 struts2中关于传参的问题 ${param.c }/s:param/uc/travel/fromCity/sysArealist.jsp/s:param/s:action 这个当中的${param.c}是做什么用的 解决方案 param应该是action传过来的对象,c是里面的一个属性