鸡啄米
最新评论及回复
-
3912. 我的队友太无敌:
接上
CAdditionDlg::~CAdditionDlg()
{
// 如果非模态对话框已经创建则删除它
if (NULL != m_pTipDlg)
{
// 删除非模态对话框对象
delete m_pTipDlg;
}
}
2015/11/26 19:17
-
3911. 我的队友太无敌:
楼主我照着你的教程写的,编译没有错误,但是运行之后,输入完加数和被加数点击计算,就自动退出了,也就是没有生成非模态对话框。唯一我感觉有问题的地方就是在构造函数那了,附上代码:
class CAdditionDlg : public CDialogEx
{
// 构造
public:
CAdditionDlg(CWnd* pParent = NULL); // 标准构造函数
CAdditionDlg(CTipDlg *m_pTipDlg); //标准构造函数
~CAdditionDlg(); //析构函数
// 对话框数据
enum { IDD = IDD_ADDITION_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
private:
CTipDlg *m_pTipDlg;
// 实现
protected:
HICON m_hIcon;
......
}
CAdditionDlg::CAdditionDlg(CTipDlg *m_pTipDlg) //构造函数的实现
{
m_pTipDlg = NULL;
}
void CAdditionDlg::OnBnClickedAddButton()
{
//非模态对话框
// 如果指针变量m_pTipDlg的值为NULL,则对话框还未创建,需要动态创建
if (NULL == m_pTipDlg)
{
// 创建非模态对话框实例
m_pTipDlg = new CTipDlg();
m_pTipDlg->Create(IDD_TIP_DIALOG, this);
}
// 显示非模态对话框
m_pTipDlg->ShowWindow(SW_SHOW);
// 将各控件中的数据保存到相应的变量
UpdateData(TRUE);
// 将被加数和加数的加和赋值给m_editSum
m_editSum = m_editSummand + m_editAddend;
// 根据各变量的值更新相应的控件。和的编辑框会显示m_editSum的值
UpdateData(FALSE);
}showmesky 于 2015-12-1 7:19:56 回复你的构造函数是自己新写的吗?
我是用系统原先的,你的好像跟我看见的不一样...
CAdditionDlg::CAdditionDlg(CTipDlg *m_pTipDlg) //构造函数的实现
{
m_pTipDlg = NULL;
}
你的代码这里好像有些问题
(CTipDlg *m_pTipDlg)
我的代码里面的是这样:
CAdditionDlg::CAdditionDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CAdditionDlg::IDD, pParent)
, m_EditSummand(0)
, m_EditSum(0)
, m_EditAddend(0)
, m_pTipDlg(NULL)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_EditAddend = 0.0;
}
2015/11/26 19:16
-
3910. 问问娃儿:
我按照步骤来的怎么生成的这玩意在CMyDialog里面不是在Addition 里面啊
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_SUMMAND_EDIT1, m_editSummand);
DDX_Text(pDX, IDC_ADDEND_EDIT3, m_editAddent);
DDX_Text(pDX, IDC_SUM_EDIT2, m_editSum);
}2015/11/24 21:43
-
3909. 菜鸟要飞翔:
在运行时提醒:
erro LINK1123:转到COFF期间失败:文件无效或损坏
解决不了希望楼主能帮我解答下 谢谢!2015/11/24 18:48
-
3908. yangbaby:
博主,支持你2015/11/21 16:18