mfc 几个对话框
点击BTN弹出对话框2.但是我想在对话框2里面用到对话框1的BTN按钮的事件响应里的一个变量。
请问这个变量该怎么传递给对话框2? , 部分代码如下:
grade dlg; //grade是被调用窗口的类名
dlg.SetDlgItemTextA(IDC_BUTTON1,"hh"); //IDC_BUTTON1是想要修改的按钮的ID
UpdateData(false);
dlg.D...
mfc 一个对话框怎么弹出另外一个对话框:
在资源视图中右键点击dialog, 选择插入dialog, 双击新生成的dialog窗体, 会让你给新dialog命名, (就叫CNewdlg吧).
在主dialog的代码中写 #include "Newdlg.h"
在主dialog的初始化函数中写: CNewdlg* newdlg=new CNewdlg();
newdlg->Create(IDD_NEWDLG,0); //IDD_NEWDLG是新dialog的ID
在你想打开新dialog的地方写: newdlg->ShowWindow(SW_SHOWNORMAL);
试试吧.
MFC中如何用多个类来控制一个对话框?: 对话框是一个窗口对象和窗口的结合,如果想在其他类中控制对话框,只要获取对话框对象或对话框对象指针就可以,所谓的对象其实就是一个变量,就如同你在不同的类中控制同一个变量一样。
MFC通过一个对话框类如何创建多个对话框:
1、先new,然后create。QQ中的弹出聊天对话框就是这样的。
2、或者创建后先隐藏,需要的时候更新一下相关参数,然后show
3、一般是多页签的对话框:好友列表、群列表、其它等等。
例如:
#pragma once
#include "resourceppc.h"
#include "friendname.h"
// TalkingDlg 对话框
class TalkingDlg : public CDialog
{
DECLARE_DYNAMIC(TalkingDlg)
public:
TalkingDlg(CWnd* pParent = NULL); // 标准构造函数
virtual ~TalkingDlg();
virtual BOOL OnInitDialog();
// 对话框数据
enum { IDD = Dialog_Talk };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
public:
static DWORD RecvProc(LPVOID x);
BOOL StartThread();
afx_msg void OnBnCloseOk();
afx_msg void OnBtnSend();
afx_msg void OnPaint();
afx_msg LRESULT TOWriteMSG(WPARAM wParam,LPARAM lParam);
DECLARE_MESSAGE_MAP()
public:
CButton *Btn_send;
CListBox *LST_talking;
CEdit *Edt_write;
CStatic *STT_Imageinfo;
CStatic *STt_friendname;
HANDLE m_hThread;
CString recvstr;
BOOL targ;
friendname setName;
};
mfc 怎样将一个对话框的数组传送到另一对话框:
假设你的第一个对话框是dlg1,里面需要复制的数组是a;第二个对话框是dlg2,里面用来存放复制过来的数据的数组是b,那么直接
for (int i = 0; i < 数组a的长度;i++)
dlg2.b[i] = dlg1.a[i];
MFC对话框怎么传递参数给另一个对话框?: 重构对话框2的构造函数,传参数进去
MFC 如何在一个对话框中修改另一个对话框里按钮的标题?:
可以用构造函数传递字符串。
改写grade的构造函数,曾加一个字符串指针参数
grade::grade(LPCTSTR btTitle, CWnd *pParent) : m_btTitle(btTitle)//
{
}
要记得修改类里面的声明
grade(LPCTSTR btTitle, CWnd *pParent = NULL) ;
并给grade类添加成员变量
LPCTSTR m_btTitle;(这里我任意取名)
然后给在grade的虚函数OnInitDialog里面判断
if(m_btTitle)
SetDlgItemTextA(IDC_BUTTON1, m_btTitle);
使用时
grade dlg("hh", this);
dlg.DoModal();
如果不修改文本可以
grade dlg(NULL, this);
dlg.DoModal();
如果要在对话框已经弹出后再修改,那就要用自定义消息或者需要获取对话框窗口对象指针了。
VS环境下如何将mfc主对话框改为非模态对话框,另外,我创建了4个非模态对话框,要实现包括主对话框在内的:
如果你非要把主对话框改为非模态对话框,先找到app类的InitInstance()
CsheetDiaDlg dlg;m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此放置处理何时用
// “确定”来关闭对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用
// “取消”来关闭对话框的代码
}
这里你可以看到主对话框显示的代码,你会写非模态对话框,自然知道怎么改。
不过我看你的需求,这种方法不算好,看看MFC的CPropertySheet和CPropertyPage类,
也许你会发现更好的方法,参考
http://hi.baidu.com/aijianmeng/item/8d5c2ece19864656ac00ef6b
http://jingyan.baidu.com/article/6d704a13dd463e28db51ca12.html
创建一个mfc基于对话框的应用程序,为什么运行后的编辑框中显示是选中的呢?:
很简单,因为对话框有一个TAB ORDER。
当一个控件的Order是对话框中的第一个,那么对话框打开后,这个控件是默认焦点,编辑框默认焦点的时候,文字就是选中状态。
调整TAB ORDER,在资源编辑器的对话框界面,你只要根据需求设置顺序就可以了。
如果希望编辑框默认焦点,有不是文本选中状态,就稍微麻烦一点,你需要在OnInitDialog里面做代码,将编辑框的文本选择状态去掉。
-
mac os 有哪些版本
PET瓶片的用途: PET塑料瓶广泛用于包装碳酸饮料、饮用水、果汁、酵素和茶饮料等,还用于食品、化工、药品包装等方面。PET塑料瓶的回收利用不仅可以解决环保问题,而且可以做为一种新的原料资源,缓解中国PET原料不足的矛盾。是的,回首中国...
865条评论 6186人喜欢 2831次阅读 918人点赞 -
gta5火箭狂雷在哪
qq飞车咋就升级快了: GJ或做任务和刷局 ...
542条评论 1581人喜欢 2671次阅读 912人点赞 -
20W多少电
北京朝阳区住这多少明星: 朱一龙貌似也在那儿 ...
762条评论 2189人喜欢 5333次阅读 627人点赞
随机推荐榜单
- 在Excel中提供的运算符号,优先级最高的是?
- 如何同时冻结2007EXCEL里的首行和首列
- 轿车是前碟后鼓还是全部是碟刹,还是全部是鼓刹???
- I WANNA CHANGE 的中文谐音
- 五菱之光面包车轮胎165/70R13C这个C是什么意思
- 亚洲一亿人口以上的有几个国家?
- 客厅装修工艺流程是怎样的
- 辣椒叶是打药烧的吗?尖上叶有点卷,新叶有点紫,如图所示
- 有没有人被屎熏死的
- 人体低血压高是啥毛病拜托了各位 谢谢
- 22厘米乘22厘米长1.2米的方木材积是多少
- 男生身高179,体重150多斤是胖还是瘦,
- 2016宝鸡的最新水价
- 我是1990年3月25日 那么我的结婚法定年龄是多少
- 有”野兽”之称的球员是哪位(足球球员)?
- 30岁应该用百雀羚哪个系列
- PS文字工具光标怎么打不出字,只显示一个黑点
- 易燃易爆炸无人声伴奏?
- 遇到交警查车,没有带驾驶证给他看12123交管可以吗
- 后驱车适合新手开吗?