大神一个 MFC 非模态对话框的有关问题
请教各位大神一个 MFC 非模态对话框的问题
最近再做一个mfc界面,在主界面中,也就是父窗口中,有这样一些参数设置按钮,但是占的空间太大。
我就想用“参数设置”这样一个按钮,替换原来的那一堆按钮,在父窗口中点击“参数设置”,

就弹出一个非模态对话框(子窗口),在非模态对话框中的就是之前的那一堆参数设置项。
就是这样:
具体应该怎么办呢。
------解决思路----------------------
你创建非模态对话框的代码怎么写的呢?
传递参数?非模态对话框的对象是你对话框创建的,你完全有控制权啊,想怎么传都行啊
------解决思路----------------------
你需要的反应是指什么?窗口能移动吗?文本框能输入内容吗?
------解决思路----------------------
你当然需要把相关的代码都移到非模式对话框中才行
------解决思路----------------------
------解决思路----------------------
再就是你可以在弹出的非模态框的确定按钮中,将非模态框掩藏起来,不用销毁
------解决思路----------------------
把非模态对话框各个控件关联公共变量
然后在
if(m_pFather==NULL)
{
m_pFather = new CSonDialog();
m_pFather->Create(IDD_DIALOG1,this);
}
m_pFather->ShowWindow(SW_SHOW);
之后将父窗口的对应的变量一一赋值到非模态对话框
在非模态对话框调用ShowWindow(SW_HIDE)的时候
再反向赋值即可(记得在反向赋值前调用UpdateData())
最近再做一个mfc界面,在主界面中,也就是父窗口中,有这样一些参数设置按钮,但是占的空间太大。
我就想用“参数设置”这样一个按钮,替换原来的那一堆按钮,在父窗口中点击“参数设置”,
就弹出一个非模态对话框(子窗口),在非模态对话框中的就是之前的那一堆参数设置项。
就是这样:
具体应该怎么办呢。
------解决思路----------------------
你创建非模态对话框的代码怎么写的呢?
传递参数?非模态对话框的对象是你对话框创建的,你完全有控制权啊,想怎么传都行啊
------解决思路----------------------
你需要的反应是指什么?窗口能移动吗?文本框能输入内容吗?
------解决思路----------------------
你当然需要把相关的代码都移到非模式对话框中才行
------解决思路----------------------
if(m_pFather==NULL)
{
m_pFather = new CSonDialog();
m_pFather->Create(IDD_DIALOG1,this);
m_pFather->ShowWindow(SW_SHOW);
}
else
{
m_pFather->ShowWindow(SW_SHOW);
}
------解决思路----------------------
再就是你可以在弹出的非模态框的确定按钮中,将非模态框掩藏起来,不用销毁
------解决思路----------------------
把非模态对话框各个控件关联公共变量
然后在
if(m_pFather==NULL)
{
m_pFather = new CSonDialog();
m_pFather->Create(IDD_DIALOG1,this);
}
m_pFather->ShowWindow(SW_SHOW);
之后将父窗口的对应的变量一一赋值到非模态对话框
在非模态对话框调用ShowWindow(SW_HIDE)的时候
再反向赋值即可(记得在反向赋值前调用UpdateData())