MFC父对话框控件如何控制子对话框?

我在MFC建立了两个对话框,我想实现点击确定按钮后,判断父对话框的输入的EDIT的值,然后打开子对话框,并在picture空间上显示出不同的图片
图片说明图片说明
我在确定按钮的消息处理函数中加了这段代码,不知道在子函数的文件中应该怎么写代码,麻烦各位帮忙看看

 void CATCDialog::OnBnClickedOk()
{
    // TODO: 在此添加控件通知处理程序代码
    UpdateData(TRUE);
    CIEEE9DIALOG dlg;
    this->UpdateData(true);
    CWnd *pWnd = NULL;
    if (this->m_busnum == "9" && this->m_loadfactor == "0.8") {
        m_bitmap.LoadBitmap(IDB_9_08);
        dlg.DoModal();
    }       
    else if (this->m_busnum == "9" && this->m_loadfactor == "1.0") {
        m_bitmap.LoadBitmap(IDB_9_10);
        dlg.DoModal();
    }       
    else if (this->m_busnum == "9" && this->m_loadfactor == "1.2") {
        m_bitmap.LoadBitmap(IDB_9_12);
        dlg.DoModal();
    }
}

1个回答

 在子对话框的头文件的public:里面加上
int busnum;
floatloadfactor;

在现在你的程序的dlg.DoModal();前面加上
dlg.busnum = _ttoi(m_busnum);
dlg.loadfactor = (float)atof((char *)(LPTSTR)(LPCTSTR)m_loadfactor);

这样你的对话框打开的时候,两个值就传过去了,下面你应该知道怎么做了吧。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mfc子对话框使用父对话框成员问题
[color=#FF0000][/color]rn我在一个父对话框做了个界面,按钮打开串口对话框,要在子对话框使用父对话框的数据rnrnCDemoDlg *pDlg = (CDemoDlg *)GetParent()->GetParent();rnpDlg->a = '2';rnm_Editsend = pDlg->a;rn用了这几个getparent函数,之后在第二句获取a的时候出现中断 rnCStringData* GetData() const throw()rnrnreturn( reinterpret_cast< CStringData* >( m_pszData )-1 );rnrn在这里中断 请问是为什么呢 我要怎么解决rnrn
MFC中父对话框和子对话框冲突
就是现在有4个对话框rnrnrn1是打开程序后进入的对话框,2和1上的平级的对话框,1、2都是同一个对话框的字对话框。在2上安放了一个tab control控件,3、4是准备安放在tab control上的两个子对话框。rnrn问题是,现在我在进入1对话框,通过button进入2,显示tab control。rn但是,我无法对tab control上的3、4对话框的控件进行任何操作!应该是2覆盖在了3、4之上了,如果在2上加东西,可以看到和3、4有重叠出现的现象。。。可是,如果2直接ShowWindow(HIDE),那么tab control也就看不到了。rnrn应该怎么办啊?
MFC 子对话框和父对话框通信
(1)我现在是在一个对话框里面【不是主对话框,包含了子对话框的头文件】,新建了另外一个对话框。然后父对话框调用子对话框时没有问题的,但是子对话框调用父对话框有什么号的方法吗?rn(2) 在网上找到了一种方法,就是子对话框中定义一个变量,在父对话框创建子对话框的时候,保存父对话框指针,如下rnChild->m_pParent = this;rnParent->m_Child = new Child;rn在子对话框中申明父对话框,class Parent【没有保护头文件,以前记得csdn上面有人说过这样使用】,可是编译的时候出现Parent没有定义,请问下我的理解哪里有问题?这个怎么解决,求高手帮忙了
子对话框调用父对话框MSComm控件
我想知道父对话框上MSCOMM控件能不能被子对话框调用来收发数据,我只要在子对话框中一涉及到这个控件就报错,什么内存不能为读,只是调用来检查一下串口是否打开也报错,是不是该控件只能在他所属的对话框使用啊,要可以被子对话框调用更具体该如何操作啊
在子对话框里面怎么控制父对话框的控件?
我的对话框里面有一个TABCTRL,TABCTRL里面有子对话框,我现在在子对话框里面,用GetParent()得不到父对话框的句柄,而是得到了TABCTRL的句柄,现在要怎么样才能得到父对话框上面控件呢?rnrn有一个COMBO在主对话框上.我想在在子对话框里面操作父对话框上面的这个COMBO.rn(CMainDlg*)GetDlgItem(IDC_COMBO)->ShowWindow(SW_HIDE);rnrn还有我想要关掉父窗口rnCMainDlg* Pwnd=(CMainDlg*)GetParent();rn::SendMessage(Pwnd->m_hWnd,WM_CLOSE,NULL,NULL);rn结果,是把TABCTRL给关了...rnrnrn求救!!!感谢!
子对话框和父对话框的问题
点击父对话框上的按钮就弹出子对话框rnrn说明:rn我在父对话框定义了私有子对话框对象rnrn在按钮的响应函数调用Create和ShowWindow函数来显示非模态对话框rnrn问题rnrn我现在需要在两个对话框之间传递一些信息,比如说把父对话框一些变量的值传给子对话框等rnrn所以我就在子对话框的想定义一个父对话框的指针对象rnrn但是意外的是:rn在子对话框类的头文件添加父对话框的头文件,已编译就一大堆错误。。上百rnrn所以我就在子对话框的实现文件,定义了一个父对话框的指针对象,这次没有错rnrn什么情况??
子对话框如何访问父对话框的成员
我现在有一个对话框叫CParentDlg,对话框中有个Edit Box来显示状态。对话框中还创建了一个Tab Control,其中一个选项卡是另一个对话框CTabDlg。 rnrn我需要在CTabDlg中按一个按钮处理一个文件,并在CParentDlg的那个Edit Box中显示处理状态,但怎么才能在CTabDlg::OnButtonFileOperation()这个函数中获得那个Edit Box的控制呢?
子对话框如何使用父对话框的函数??
如题:做了个试验如下:rnrn父对话框的一个按钮函数:rn void CMy1Dlg::OnOK() rnrn UpdateData(true);rn m_jieguo=m_edit*m_edit;rn if(m_show)rn MessageBox("输入有误!","提示");rnrnrn子对话框的一个按钮函数:rnrnvoid zilei::OnOK() rnrn CMy1Dlg::OnOK() ;rnrn错误:rnerror C2653: 'CMy1Dlg' : is not a class or namespace namernrn怎么样才能正确使用呢?
子对话框如何去更新父对话框?
如Dlg2在Dlg1中打开,完成一些修改后,在OnOk()中要去刷新Dlg1的列表控件,该怎么操作?
MFC 子对话框(无模态对话框)与父对话框的位置关系
一般情况下,我们通过代码创建的 无模态对话框,会在父对话框的上面。不管怎么点击父对话框,子对话框都在上面…rnrnrn我现在想要做的事是,当点击一下父对话框时,父对话框显示在子对话框的上面,这样怎么写?????
【求助】子对话框如何阻塞父对话框
需要实现一个自定义的MessageBox,但是子窗口不能像MessageBox那样挡住父窗口,请问如何实现。rn
MFC子对话框通过父对话框访问兄弟对话框
HWND hWnd = ::FindWindow(NULL,_T("Kingteller Test Tool 1.0"));     CKtUsbDlg* pWnd = (CKtUsbDlg*)FromHandle(hWnd);     pWnd->m_casstteDlg.m_cassList1.DeleteAllItems();
mfc如何通过子对话框关闭父对话框
用下面语句不能完全关闭,该怎么弄啊rnGetParent()->SendMessage(WM_CLOSE)rn执行前rn[img=https://img-bbs.csdn.net/upload/201404/30/1398838833_817805.jpg][/img]rn执行后rn[img=https://img-bbs.csdn.net/upload/201404/30/1398838820_712917.jpg][/img]rn只能达到这个效果,求大侠指教怎么完全关闭啊
MFC应用程序:子对话框如何操作父对话框的数据成员?
子对话框如何操作父对话框的数据成员?rnrn或者子对话框如何获得父对话框的指针?rnrn
对话框程序 父对话框响应子对话框控件消息
对话框A上面放了一个子对话框, 子窗口上面放置一个按钮, 把子窗口上按钮的消息映射到 父对话框A, rnrn也就是在对话框添加 如下消息函数, 其中 IDC_MUTILE_SCREAM 是子对话框上的按钮id.rnON_BN_CLICKED(IDC_MUTILE_SCREAM, &CMainDlg::OnBnClickedMutileScream)rnrn为什么父对话框收不到 点击按钮的消息? rn也就是OnBnClickedMutileScream消息函数不响应。。
MFC对话框重绘 子控件
RT,rn我的一个对话框程序,rn里面有6个static Text和6个Edit Controlrnrn当对话框改变大小时,每一个子控件都要重绘?还有别的办法吗?rnrn我是在OnSize()里面调用SetWindowPos改变子控件的大小好呢?还是在OnPaint()里面再修改呢?rnrn
MFC 主对话框和子对话框
呃,是这样rn主对话框头文件声明[code=c]//调用子窗口rn CRect m_deployRect;//窗口位置rn CDialog m_subWindR_01;[/code]rn主对话框cpp文件[code=c] GetDlgItem(IDC_DEPLOY_AREA)->GetWindowRect(&m_deployRect);rn ScreenToClient(&m_deployRect);rnrn m_subWindR_01.Create(IDD_SUBDLG_R_01, this);[/code]rnrn子对话框中有个 m_edit_time。rn我想在主对话框给子对话框这个编辑控件赋值。rn请问该咋办?rn除了发消息和窗口指针还有没有啥方法能把子窗口和子窗口类联系起来。。
MFC对话框和子对话框的问题
写了一个MFC基于对话框的程序,里面有按钮弹出子对话框,但是子对话框在下面的任务栏中没有,只有主对话框的标志,而且子对话框一直都处于z次序的最顶端,我在WM_ACTIVATE中设置SetWindowPos也没法让主窗口放到最顶层,求解答
MFC小问题 父对话框创建了子对话框,子对话框如何销毁
MFC小菜求大神解答rnrn情景描述:rnrn 我想在MFC的父对话框中动态创建子对话框,个数不定,子对话框的名字根据情况改变,rn 我在Dialog程序中添加了一个对话框,我不会动态的改变模态对话框的名字因此用了非模态对话框,代码如下rnrn CSectionBaseDlg* pdlg = new CSectionBaseDlg(this);rnrn pdlg->Create(IDD_DIALOG1, NULL);rnrn pdlg->ShowWindow(SW_SHOW);//创建非模态对话框rnrn pdlg->SetWindowTextW((LPCTSTR)cstr);rnrn 现在的问题是:rn 我若点击取消子对话框,父对话框如何知道何时取消的以便释放CSectionBaseDlg* pdlg指针?rn 若用模态对话框,如何动态的改变对话框名字?
各位高手,有关MFC父对话框和子对话框的交互问题
帖子是在C++.net下发的,等了好长时间都没人回,rn网站如下:rnhttp://bbs.csdn.net/topics/390478333rn希望大家帮一下忙rn不胜感激
MFC子对话框如何为父对话框的变量赋值?
[code=C/C++]rn CDetect* point = (CDetect*)GetParent();rnrn point->m_cbPortName = "COM4";rn point->m_cbRate = m_cbRate;rn point->m_cbDataBit = m_cbDataBit;rn point->m_cbStopBit = m_cbStopBit;rn point->m_cbParity = m_cbParity;rn[/code]rnrngetparent()获得了父窗口的句柄,之后这样调用则运行时出错。rn这种写法也是我在网上看到的,第一次用MFC,很不熟悉,希望有人能帮忙。
VC/MFC 子对话框向父对话框传递参数的例题
父子对话框均有一个Edit控件和一个按钮,点击父对话框按钮显示子对话框,更改子对话框Edit控件的值后按按钮,使得子对话框中的值在父对话框中的Edit控件中显示。rnrn参考了《vc 父窗体和子窗体之间怎样传递参数?》(http://topic.csdn.net/u/20070809/14/9f5d2f51-5ff6-4016-b191-031f1eb3eb50.html)一文,但是还是不很清楚,不知哪位朋友能给一个“向父窗体sendMessage”方法的例子,谢谢了!rn
MFC 子对话框向父对话框 Edit内容的同步
MFC 子对话框向父对话框 Edit内容的同步
MFC父对话框创建子对话框通信的问题!!
MFC父对话框创建子对话框通信的问题:rn我从父对话框创建成员 模态子对话框指针 用作指向rn具体线程中使用子对话框来得到数据,在更新的时候显示错误,编译器定位到:ASSERT(::ISWINDOW)rn是什么原因?rn如果用非模态对话框,就一闪而过,不能等待子对话框输入 信息 来更新rn请高手解答!
子对话框调用父对话框的成员函数
我在父对话框有一个列表控件显示数据,子对话框有三个编辑框和一个确定按扭,把数据输入然后,单击确定按扭后怎样把父对话框的列表控件刷新(FreshList(); 这是父类成员函数,怎样调用这个函数)rn
子对话框Edit Box控制父对话框LIST Control
子对话框的Edit Box内容可以插入到父对话框的LIST Control中,同时子对话框仍然处于活动状态,而父对话框处于非活动状态,请教高手指点
拖动父对话框,子对话框不动
子对话框是无模式对话框,rn当拖动父对话框的时候 子对话框不跟着移动rn请问怎样才能让子对话框跟着移动?rnrn有没有比处理父对话框的WM_MOVE更直接的办法?
子对话框获得父对话框的数据?
rn我建了一个有模对话框(类:CDlgFather),上面有个复选框(IDC_Check_HAVE),其对应的数据变量为m_blnHave。当点击有模对话框上一个按钮是弹出一个无模对话框,我想在该子对话框中获得复选框的值 ,这样为什么不可以?rnBOOL blnTemp;rnBlnTemp=CdlgFather.m_blnHave;rn错误提示是:illegal use of this type as an expression。rn我还有很多变量要从父对话框的变量中获得,该如何取呢?rn
显示子对话框和父对话框的焦点问题。
我点一个按钮或者一个文本,反正一个事件,弹出一个自对话框。rn但是这个子对话框不能让父对话框失去焦点。rnrn我的自对话框继承于CWND。rn采用BOOL ret = CWnd::CreateEx(0, AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW), rn "", dwStyle | WS_POPUP, rc, pParent->GetParent(), nId);rnrn或者// BOOL ret = CWnd::Create(AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW), NULL, rn// WS_CHILD | WS_VISIBLE | WS_BORDER, rc, pParent, NULL);rnrn都不行,后者是无法显示,前者是有WS_POPUP的样式,导致弹出式会使父对话框失去焦点。rn包括在showwindow时用SW_SHOWNOACTIVATE也不行。rnrn请大家指教,是如何实现的。谢谢。
求助子对话框与父对话框通信问题
求助子对话框与父对话框通信问题:rn想请教一下,我的父对话框上有个滑块,来改变子对话框图像,应如何写啊?如何把scroll的滑动值动态的改变子对话框上的图像?谢谢!敬请赐教!
MFC-DIALOG 父对话框与子对话框通信问题分析
父对话框里定义一个子对话框的对象dlg,构造函数传递参数,问题是我传递参数出错,这个有点复杂,谁有相应的例子给我谢谢。
父对话框和子对话框的交互问题
我又一个叫做CHttpAnalyzerDlg的对话框类,里面定义一个叫OPTIONPage的子对话框类rn[code=c]rnclass CHttpAnalyzerDlg : public CDialogExrnrnpublic:rnOPTIONPage OptionPage;rnrn[/code]rn然后OptionPage里面有一个ListControl控件rnoptionpage的代码如下:rn[code=c]rnclass OPTIONPage : public CDialogExrnrnpublic:rn CListCtrl NetList;rn CEdit PathText;rn CButton PathBtn;rn CString FilePath; //存放文件路径rn CString NetName; //存放选择的网卡rnrn[/code]rn如图[img=https://img-bbs.csdn.net/upload/201306/02/1370171532_343174.jpg][/img]rn然后我想初始化这个OptionPage,但是由于他没有OnInitDialog函数,所以我想在CHttpAnalyzerDlg的OnInitDialog函数中初始化他,代码如下:rn[code=c]rnBOOL CHttpAnalyzerDlg::OnInitDialog()rnrnOptionPage.NetList.InsertItem(0,_T("aa"));rnrn[/code]rnrn然后,CHttpAnalyzerDlg有一个menu,我给那个menu下的一个选项添加了一个事件叫OnToolsOption,代码如下:rn[code=c]rnvoid CHttpAnalyzerDlg::OnToolsOption()rnrn // TODO: 在此添加命令处理程序代码rn rn OptionPage.DoModal();rn rnrn[/code]rnrn运行后,结果报错,如图rn[img=https://img-bbs.csdn.net/upload/201306/02/1370171989_989159.jpg][/img]rn求高手解答,不胜感激
C++ 子对话框消息传递到父对话框问题
问题描述:一个对话框程序(主对话框),在对话框中添加一个Tab1控件,程序在Tab1中贴入了一个对话框(对话框封装为一个类,此对话框含有另一个Tab控件),当程序运行的时候再在另一个Tab中贴入一个对话框(此对话框也封装为一个类,此对话框中包含按钮1和按钮2,且有响应事件),可能描述的有点复杂,不过尽量把问题描述清楚···运行时大体效果如图所示:rn问题:主对话框如何响应按钮1和按钮2的事件,按钮1,2的消息或事件如何能够传递到主对话框中,这类的消息传递是怎么样的rn[img=http://img.my.csdn.net/uploads/201303/27/1364375831_2537.jpg][/img]
子对话框不能调用父对话框类成员函数?
我在用子对话框调用父对话框类时不但没有成功,单步调试时出现父对话框类hWnd=0x00000000,请高手帮忙,谢谢rnrn父对话框类中被调用函数:rnINT CR2000APNetManageDlg::gettreecount()rnrn INT geshu=m_tree.GetCount();rn return geshu;rnrnrn子对话框类中调用函数rnvoid CgetallneDlg::OnOK() rnrn // TODO: Add extra validation herern CR2000APNetManageDlg ft; rn int i = ft.gettreecount(); rn CDialog::OnOK();rn
父对话框和子对话框的初始化顺序问题
我有一个父对话框和了个子对话框,子对话框为CGpsDlg,我在父对话的OnInitDialog函数里写如下代码rn[code=C/C++]CGpsDlg *gpsDlg = new CGpsDlg();rn gpsDlg->Create(IDD_GPSDLG, this);[/code]rn但这个代码最后的结果是先完成子对话框的初始化,才能完成父对话框的初始化。rnrn而我现在想要的结果是先完成父对话框的初始化再初始化子对话框,因为在子对话框的初始化里要用到父对话框的一些资源。rnrn请问我该怎么做,或是以上的代码放在父对话框的哪里才比较能达到我想要的效果??rn
子对话框调用父对话框成员函数的问题
我在主对话框中创建了子对话框:rnm_DlgChild.Create(IDD_DIALOG_CHILD,GetDlgItem(IDC_MAIN_PARENT)); //m_DlgChild是主对话框的成员rnrn子对话框中有对应接受父对话框的构造函数:rnDlgChild::DlgChild(CWnd* pParent /*=NULL*/)rn : CDialog(DlgChild::IDD, pParent)rnrn rnrnrnrn在子对话框的OnInitDialog中调用父对话框的成员函数:rnrn((CParentDlg*)GetParent())->fun(); //fun是父对话框的成员函数。rnrn以上代码编译没问题,但是执行到上面那句的时候会有断言错误,不知道是哪不对呢?
小白 TabControl中的子对话框控件如何控制父对话框控件?
比如rn父对话框假设用CTabDlg,有个TabControl,三个属性页用了三个子对话框Tab123,三个子对话框类CTab1、2、3Dlg;rn子对话框中放置了ListControl链接了ImageList,图标下面是文字;rn父对话框中还有对应三个编辑框;rn现在想要在属性页Tab1中每单击一次ListControl中的选项,父对话框中的第一个编辑框就显示ListControl中相应选中项的文字。rnrn因为对指针什么的都不是很了解,所以希望各位大大们讲得详细一点~rn谢啦!
子控件SubClassWindow()到父对话框的问题?
主对话框中有一Static子控件,由于想自绘Static, 故自定义CMyStatic,Derived from CStatic,同时声明rnCMyStatic m_MyStatic;rnvoid CMyDlg::DoDataExchange(CDataExchange* pDX)中rnDDX_Control(pDX, IDC_MYSTATIC, m_MyStatic);rnrn一切显示均正常,下面想让m_MyStatic响应鼠标左键消息,可用Classwizard在CMyStatic中生成后,没有用,断点没反应;rn后想在CMyDlg::OninitDialog中SubClasswindow,可调试出错,说该控件窗口Handle已存在!虽然后用CMyDlg::OnLButtonDown()判断PtInRect(point)解决了问题,但不是最终的解决方法;故想问:为何Static子控件的消息映射过不来,如何解决?(我觉得不应是PreTranslateMessage,还是应该在SubClassWindow这一块,请高手指点!)
《MFC如何添加子对话框》
问题描述  当MFC应用程序的主对话框有其他功能需要,但不能显示在主对话框时,通常会通过点击一个功能按钮弹出一个字对话框来实现。最常见的就是登录界面,点击登录按钮,然后弹出一个登录对话框让你输入登录信息,输完信息之后点击立即登录按钮,对话框消失,又回到主界面。   MFC添加子对话框 1、选中项目名称,点击鼠标右键,依次选择添加、资源 2、进入到添加资源界面,选择Dia...
父对话框关闭子对话框控件依然显示怎么办
子对话框是父对话框内的指针,动态创建的,子对话框上控件是静态的, 按父类对话框内的一个自制的x按钮后调用OnCancle进行关闭,但是子类对话框的控件依然显示,求助~
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview